streamsynchronizer: Delay EOS events until all streams are EOS
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 24 Jul 2010 16:17:43 +0000 (18:17 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 24 Jul 2010 16:17:43 +0000 (18:17 +0200)
commit175aae9e85365f681e73a7bf427a6685e6f4faa1
tree1db8f313eabd8e85b365bfb58f8f385413e1f9fa
parentae03de8ff811090d20e92073aa3611e2f47cb561
streamsynchronizer: Delay EOS events until all streams are EOS

This fixes a race condition in playbin2's gapless mode, where the
EOS of other streams might arrive in the sinks before the last stream
ends and the switch to the new track happens. The EOS sinks won't
accept any new data then and playback stops.

To prevent this, delay all EOS events until all streams are EOS
and advance the sinks of the EOS streams by filler newsegment
events if necessary.

Fixes bug #625118.
gst/playback/gststreamsynchronizer.c