gst/playback/gststreamselector.*: Revert change that caused regression until a real...
authorWim Taymans <wim.taymans@gmail.com>
Fri, 14 Mar 2008 09:54:44 +0000 (09:54 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 14 Mar 2008 09:54:44 +0000 (09:54 +0000)
Original commit message from CVS:
* gst/playback/gststreamselector.c: (gst_selector_pad_event),
(gst_selector_pad_chain):
* gst/playback/gststreamselector.h:
Revert change that caused regression until a real fix is found.
Fixes #522203.

ChangeLog
gst/playback/gststreamselector.c
gst/playback/gststreamselector.h

index 7f096befb713094e89bbe8a757f28f094857164e..e788eeb8e29962bdc1e17177ea160b1deec137f6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-03-14  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/playback/gststreamselector.c: (gst_selector_pad_event),
+       (gst_selector_pad_chain):
+       * gst/playback/gststreamselector.h:
+       Revert change that caused regression until a real fix is found.
+       Fixes #522203.
+
 2008-03-12  Michael Smith <msmith@fluendo.com>
 
        * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps):
index 74fd2e3838e0918e91c51adf21c2fe772c10e63b..2750eface2d1ab084d338d8e656ac1b7bb95caef 100644 (file)
@@ -282,10 +282,10 @@ gst_selector_pad_event (GstPad * pad, GstEvent * event)
 
       gst_segment_set_newsegment_full (&selpad->segment, update,
           rate, arate, format, start, stop, time);
-      /* mark pending segment if we are not forwarding, we assume all pads share
-       * the same segment so we only forward once. */
+      /* if we are not going to forward the segment, mark the segment as
+       * pending */
       if (!forward)
-        sel->segment_pending = TRUE;
+        selpad->segment_pending = TRUE;
       break;
     }
     case GST_EVENT_TAG:
@@ -407,12 +407,12 @@ gst_selector_pad_chain (GstPad * pad, GstBuffer * buf)
     goto ignore;
 
   /* if we have a pending segment, push it out now */
-  if (sel->segment_pending) {
+  if (selpad->segment_pending) {
     gst_pad_push_event (sel->srcpad, gst_event_new_new_segment_full (FALSE,
             seg->rate, seg->applied_rate, seg->format, seg->start, seg->stop,
             seg->time));
 
-    sel->segment_pending = FALSE;
+    selpad->segment_pending = FALSE;
   }
 
   /* forward */
@@ -431,7 +431,6 @@ ignore:
     res = GST_FLOW_NOT_LINKED;
     goto done;
   }
-
 }
 
 static void gst_stream_selector_dispose (GObject * object);
index 5f01e645b7a0bd2862744de26900fc3b8f17df9e..5200a0b0ce163b8da8f2fd634fd5f96847ac8e06 100644 (file)
@@ -49,7 +49,6 @@ struct _GstStreamSelector {
   guint padcount;
 
   GstSegment segment;
-  gboolean segment_pending;
 };
 
 struct _GstStreamSelectorClass {