+2004-10-08 Wim Taymans <wim at fluendo dot com>
+
+ * gst/elements/gsttypefindelement.c:
+ (gst_type_find_element_handle_event):
+ Handle EOS events when doing the transition from
+ typefind to data passing. This should fix the
+ infinite loops in short files.
+
2004-10-07 Wim Taymans <wim at fluendo dot com>
* gst/gstthread.c: (gst_thread_change_state),
TypeFindEntry *entry;
GstTypeFindElement *typefind = GST_TYPE_FIND_ELEMENT (GST_PAD_PARENT (pad));
+ GST_DEBUG_OBJECT (typefind, "got event %d in mode %d", GST_EVENT_TYPE (event),
+ typefind->mode);
+
switch (typefind->mode) {
case MODE_TYPEFIND:
switch (GST_EVENT_TYPE (event)) {
gst_event_unref (event);
}
}
+ } else if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
+ push_buffer_store (typefind);
+ gst_pad_event_default (pad, event);
} else {
gst_event_unref (event);
}
TypeFindEntry *entry;
GstTypeFindElement *typefind = GST_TYPE_FIND_ELEMENT (GST_PAD_PARENT (pad));
+ GST_DEBUG_OBJECT (typefind, "got event %d in mode %d", GST_EVENT_TYPE (event),
+ typefind->mode);
+
switch (typefind->mode) {
case MODE_TYPEFIND:
switch (GST_EVENT_TYPE (event)) {
gst_event_unref (event);
}
}
+ } else if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
+ push_buffer_store (typefind);
+ gst_pad_event_default (pad, event);
} else {
gst_event_unref (event);
}