streamsynchronizer: Don't wait on non-time streams
authorEdward Hervey <edward.hervey@collabora.co.uk>
Tue, 11 Sep 2012 14:27:24 +0000 (16:27 +0200)
committerEdward Hervey <edward.hervey@collabora.co.uk>
Tue, 11 Sep 2012 14:29:21 +0000 (16:29 +0200)
streams with non-TIME segments will not have timestamps ...
... and therefore will never unblock the other streams.

Fixes blocking issue when using playbin suburi feature

gst/playback/gststreamsynchronizer.c

index bd09a23..7a71ffa 100644 (file)
@@ -356,6 +356,9 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstObject * parent,
         GST_WARNING_OBJECT (pad, "Non-TIME segment: %s",
             gst_format_get_name (segment.format));
         gst_segment_init (&stream->segment, GST_FORMAT_UNDEFINED);
+        /* Since this stream is not time-based, we mark it so that
+         * other streams don't wait forever on it */
+        stream->wait = TRUE;
       }
       GST_STREAM_SYNCHRONIZER_UNLOCK (self);
       break;