From: Guillaume Desmottes Date: Wed, 31 May 2023 14:05:48 +0000 (+0200) Subject: streamsynchronizer: reset eos on STREAM_START X-Git-Tag: 1.22.7~246 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dd6e889073003105796890385308c727d5ecbc37;p=platform%2Fupstream%2Fgstreamer.git streamsynchronizer: reset eos on STREAM_START self->eos was never reset after streamsynchronizer has sent EOS (except on explicit flush or switching back to PAUSED). As a result, synchronization was broken if new streams were pushed later as gst_stream_synchronizer_wait() does not wait if self->eos is set. Fix this by reseting self->eos on STREAM_START as that means a new stream is being sent upstream and so a new EOS will follow later on. Part-of: --- diff --git a/subprojects/gst-plugins-base/gst/playback/gststreamsynchronizer.c b/subprojects/gst-plugins-base/gst/playback/gststreamsynchronizer.c index 6a0f26c..4c3786b 100644 --- a/subprojects/gst-plugins-base/gst/playback/gststreamsynchronizer.c +++ b/subprojects/gst-plugins-base/gst/playback/gststreamsynchronizer.c @@ -388,6 +388,7 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstObject * parent, GST_STREAM_SYNCHRONIZER_LOCK (self); self->have_group_id &= have_group_id; have_group_id = self->have_group_id; + self->eos = FALSE; stream = gst_streamsync_pad_get_stream (pad);