downloadbuffer: send EOS in push mode

gst_download_buffer_read_buffer() returns FLOW_EOS but it was not
handled in the 'out_flushing' goto block which uses srcresult,
so EOS was not sent downstream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7128>
This commit is contained in:
Guillaume Desmottes 2024-07-03 09:05:06 +02:00 committed by GStreamer Marge Bot
parent 894bef7a1d
commit 3b47b87038

View file

@ -1325,8 +1325,10 @@ gst_download_buffer_loop (GstPad * pad)
GST_DOWNLOAD_BUFFER_MUTEX_LOCK_CHECK (dlbuf, dlbuf->srcresult, out_flushing); GST_DOWNLOAD_BUFFER_MUTEX_LOCK_CHECK (dlbuf, dlbuf->srcresult, out_flushing);
ret = gst_download_buffer_read_buffer (dlbuf, -1, -1, &buffer); ret = gst_download_buffer_read_buffer (dlbuf, -1, -1, &buffer);
if (ret != GST_FLOW_OK) if (ret != GST_FLOW_OK) {
dlbuf->srcresult = ret;
goto out_flushing; goto out_flushing;
}
if (dlbuf->stream_start_event != NULL) { if (dlbuf->stream_start_event != NULL) {
gst_pad_push_event (dlbuf->srcpad, dlbuf->stream_start_event); gst_pad_push_event (dlbuf->srcpad, dlbuf->stream_start_event);