summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <edward@centricular.com>2021-08-27 14:32:45 +0200
committerEdward Hervey <bilboed@bilboed.com>2021-08-27 14:40:02 +0200
commit1fe15bb61cf42e4df7218277e3022a6403a7ad1b (patch)
tree82a8691e80f98e5d0e8c5697f1d7cd34de35459b
parent7db10403468fab512de45ccfaca8f0579f6ea6d9 (diff)
downloadgstreamer-plugins-good-1fe15bb61cf42e4df7218277e3022a6403a7ad1b.tar.gz
qtdemux: Force stream-start push when re-using EOS'd streams
When re-using streams, we *do* need to push a `stream-start` event downstream if we previously were EOS'd. Failure to do that would never remove the EOS status on all downstream elements and cause weird issues. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1067>
-rw-r--r--gst/isomp4/qtdemux.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gst/isomp4/qtdemux.c b/gst/isomp4/qtdemux.c
index 6ede64bf3..15c1e7da2 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -13163,8 +13163,9 @@ qtdemux_reuse_and_configure_stream (GstQTDemux * qtdemux,
newstream->pad = oldstream->pad;
oldstream->pad = NULL;
- /* unset new_stream to prevent stream-start event */
- newstream->new_stream = FALSE;
+ /* unset new_stream to prevent stream-start event, unless we are EOS in which
+ * case we need to force one through */
+ newstream->new_stream = GST_PAD_IS_EOS (newstream->pad);
return gst_qtdemux_configure_stream (qtdemux, newstream);
}