streamsynchronizer: Send GAP events to advance streams
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 24 Oct 2012 11:25:19 +0000 (13:25 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 24 Oct 2012 11:25:19 +0000 (13:25 +0200)
gst/playback/gststreamsynchronizer.c

index 3692f6d..36e025e 100644 (file)
@@ -572,26 +572,19 @@ gst_stream_synchronizer_sink_chain (GstPad * pad, GstObject * parent,
 
       /* Is there a 1 second lag? */
       if (position != -1 && position + GST_SECOND < timestamp_end) {
-        gint64 new_start, new_stop;
+        gint64 new_start;
 
         new_start = timestamp_end - GST_SECOND;
-        if (ostream->segment.stop == -1)
-          new_stop = -1;
-        else
-          new_stop = MAX (new_start, ostream->segment.stop);
 
         GST_DEBUG_OBJECT (ostream->sinkpad,
             "Advancing stream %u from %" GST_TIME_FORMAT " to %"
             GST_TIME_FORMAT, ostream->stream_number, GST_TIME_ARGS (position),
             GST_TIME_ARGS (new_start));
 
-        ostream->segment.start = new_start;
-        ostream->segment.stop = new_stop;
-        ostream->segment.time = new_start;
         ostream->segment.position = new_start;
 
         gst_pad_push_event (ostream->srcpad,
-            gst_event_new_segment (&ostream->segment));
+            gst_event_new_gap (new_start, GST_SECOND));
       }
     }
     GST_STREAM_SYNCHRONIZER_UNLOCK (self);