From c2d8f4f7294694268ccc167039275c6e0b028ea8 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Wed, 31 May 2023 16:05:48 +0200 Subject: [PATCH] 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: --- .../gst-plugins-base/gst/playback/gststreamsynchronizer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/subprojects/gst-plugins-base/gst/playback/gststreamsynchronizer.c b/subprojects/gst-plugins-base/gst/playback/gststreamsynchronizer.c index a94817a2aa..fdd8625797 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);