summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXabier Rodriguez Calvar <calvaris@igalia.com>2023-05-03 13:21:23 +0200
committerTim-Philipp Müller <tim@centricular.com>2023-05-05 16:24:17 +0100
commit5c863418ba7cdaffee559a6d954450dfe3c0bd6e (patch)
tree5348b87764c77a10b7544ec754f13fdb099d284f
parentb17fbb231cde6fd72e356daa43122084693fef7d (diff)
downloadgstreamer-5c863418ba7cdaffee559a6d954450dfe3c0bd6e.tar.gz
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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4557>
-rw-r--r--subprojects/gst-plugins-good/gst/isomp4/qtdemux.c4
1 files 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 1449c67492..0e5904dd0b 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 &&