summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <edward@centricular.com>2021-08-27 14:32:45 +0200
committerTim-Philipp Müller <tim@centricular.com>2021-08-28 12:12:53 +0100
commit250b844fba1f7c5e4aba5be7cf1e69707ddc3f6c (patch)
tree6119bca79783d33c930678a1438e514ba8bebb4f
parent22a038882e8758de0b6122db2a8d477316d77de2 (diff)
downloadgstreamer-plugins-good-250b844fba1f7c5e4aba5be7cf1e69707ddc3f6c.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/1068>
-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 d88034116..040a5de16 100644
--- a/gst/isomp4/qtdemux.c
+++ b/gst/isomp4/qtdemux.c
@@ -12957,8 +12957,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);
}