From 5c863418ba7cdaffee559a6d954450dfe3c0bd6e Mon Sep 17 00:00:00 2001 From: Xabier Rodriguez Calvar Date: Wed, 3 May 2023 13:21:23 +0200 Subject: [PATCH] qtdemux: emit no-more-pads after pruning old pads If we don't do that, clients can rely on this signal to see the final pad topology but it won't be the real one as some of them will disappear after emitting that signal. This can happen after injecting a different init segment. Part-of: --- subprojects/gst-plugins-good/gst/isomp4/qtdemux.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c b/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c index 1449c67..0e5904d 100644 --- a/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c +++ b/subprojects/gst-plugins-good/gst/isomp4/qtdemux.c @@ -13789,8 +13789,6 @@ qtdemux_expose_streams (GstQTDemux * qtdemux) gst_qtdemux_guess_bitrate (qtdemux); - gst_element_no_more_pads (GST_ELEMENT_CAST (qtdemux)); - /* If we have still old_streams, it's no more used stream */ for (i = 0; i < qtdemux->old_streams->len; i++) { QtDemuxStream *stream = QTDEMUX_NTH_OLD_STREAM (qtdemux, i); @@ -13808,6 +13806,8 @@ qtdemux_expose_streams (GstQTDemux * qtdemux) g_ptr_array_set_size (qtdemux->old_streams, 0); + gst_element_no_more_pads (GST_ELEMENT_CAST (qtdemux)); + /* check if we should post a redirect in case there is a single trak * and it is a redirecting trak */ if (QTDEMUX_N_STREAMS (qtdemux) == 1 && -- 2.7.4