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>
This commit is contained in:
Edward Hervey 2021-08-27 14:32:45 +02:00 committed by Edward Hervey
parent 7db1040346
commit 1fe15bb61c

View file

@ -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);
}