Original commit message from CVS:
This should fix seeking in a non empty cache..
/* push the buffer */
gst_spider_identity_chain (ident->sink, buf);
}
/* push the buffer */
gst_spider_identity_chain (ident->sink, buf);
}
/* this function is needed after typefinding:
* empty the cache and when the cache is empty - remove this function
*/
/* this function is needed after typefinding:
* empty the cache and when the cache is empty - remove this function
*/
if (ident->cache_start == NULL)
{
GST_DEBUG(0, "cache from %s is empty, changing loop function", GST_ELEMENT_NAME(ident));
if (ident->cache_start == NULL)
{
GST_DEBUG(0, "cache from %s is empty, changing loop function", GST_ELEMENT_NAME(ident));
/* free cache */
g_list_free (ident->cache_end);
ident->cache_end = NULL;
/* remove loop function */
/* free cache */
g_list_free (ident->cache_end);
ident->cache_end = NULL;
/* remove loop function */
- gst_element_set_loop_function (GST_ELEMENT (ident), (GstElementLoopFunction) GST_DEBUG_FUNCPTR (gst_spider_identity_dumb_loop));
+ gst_element_set_loop_function (GST_ELEMENT (ident),
+ (GstElementLoopFunction) GST_DEBUG_FUNCPTR (gst_spider_identity_dumb_loop));
gst_element_interrupt (GST_ELEMENT (ident));
}
}
gst_element_interrupt (GST_ELEMENT (ident));
}
}
/* FIXME we need to find the right position in the cache, make sure we
* push from that offset and send out a discont event on the
* next buffer */
/* FIXME we need to find the right position in the cache, make sure we
* push from that offset and send out a discont event on the
* next buffer */
+ /* FIXME, we pass the event for now */
+ /*return TRUE; */
}
default:
res = gst_pad_event_default (pad, event);
}
default:
res = gst_pad_event_default (pad, event);