gst/elements/gsttypefindelement.c: Push the buffer store instead of clearing it in...
authorWim Taymans <wim.taymans@gmail.com>
Wed, 6 Oct 2004 11:59:01 +0000 (11:59 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Wed, 6 Oct 2004 11:59:01 +0000 (11:59 +0000)
Original commit message from CVS:
* gst/elements/gsttypefindelement.c: (stop_typefinding):
Push the buffer store instead of clearing it in case that
the stream is not seekable.

ChangeLog
gst/elements/gsttypefindelement.c
plugins/elements/gsttypefindelement.c

index 114127a..e8caa0e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2004-10-06  Wim Taymans  <wim at fluendo dot com>
 
+       * gst/elements/gsttypefindelement.c: (stop_typefinding):
+       Push the buffer store instead of clearing it in case that
+       the stream is not seekable.
+
+2004-10-06  Wim Taymans  <wim at fluendo dot com>
+
        * gst/gstthread.c: (gst_thread_init), (gst_thread_change_state),
        (gst_thread_main_loop):
        Lock the iteration and the state change so that automatic
index ef5b913..52fb1be 100644 (file)
@@ -106,6 +106,7 @@ static void gst_type_find_element_get_property (GObject * object,
 static const GstEventMask *gst_type_find_element_src_event_mask (GstPad * pad);
 static gboolean gst_type_find_element_src_event (GstPad * pad,
     GstEvent * event);
+static void push_buffer_store (GstTypeFindElement * typefind);
 
 static void gst_type_find_element_chain (GstPad * sinkpad, GstData * data);
 static GstElementStateReturn
@@ -366,7 +367,8 @@ stop_typefinding (GstTypeFindElement * typefind)
       GST_WARNING_OBJECT (typefind,
           "could not seek to required position %u, hope for the best", size);
       typefind->mode = MODE_NORMAL;
-      gst_buffer_store_clear (typefind->store);
+      /* push out our queued buffers here */
+      push_buffer_store (typefind);
     } else {
       typefind->waiting_for_discont_offset = size;
     }
index ef5b913..52fb1be 100644 (file)
@@ -106,6 +106,7 @@ static void gst_type_find_element_get_property (GObject * object,
 static const GstEventMask *gst_type_find_element_src_event_mask (GstPad * pad);
 static gboolean gst_type_find_element_src_event (GstPad * pad,
     GstEvent * event);
+static void push_buffer_store (GstTypeFindElement * typefind);
 
 static void gst_type_find_element_chain (GstPad * sinkpad, GstData * data);
 static GstElementStateReturn
@@ -366,7 +367,8 @@ stop_typefinding (GstTypeFindElement * typefind)
       GST_WARNING_OBJECT (typefind,
           "could not seek to required position %u, hope for the best", size);
       typefind->mode = MODE_NORMAL;
-      gst_buffer_store_clear (typefind->store);
+      /* push out our queued buffers here */
+      push_buffer_store (typefind);
     } else {
       typefind->waiting_for_discont_offset = size;
     }