Commit 2717f4a8 authored by Mathieu Duponchelle's avatar Mathieu Duponchelle Committed by Sebastian Dröge

streamsynchronizer: Ignore flushing streams [..]

[..] when resetting group start time. In GES, we are usually connected
to the streamsynchronizer on one audio and one video pad.

When seeking the timeline, both nlecompositions often output their flush_start
before any of them has output its flush_stop.

The current code, when receiving the first flush stop was using the
running time of the start of the second composition, which could
be pretty much anything, and means nothing at that point.

This patch is thread-safe, as STREAM_SYNCHRONIZER_LOCK is taken
both when setting flushing and when checking it.

https://bugzilla.gnome.org/show_bug.cgi?id=750013
parent fccf83e6
......@@ -493,7 +493,7 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstObject * parent,
GstSyncStream *ostream = l->data;
GstClockTime start_running_time;
if (ostream == stream)
if (ostream == stream || ostream->flushing)
continue;
if (ostream->segment.format == GST_FORMAT_TIME) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment