mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 22:36:33 +00:00
hlsdemux: Don't output pending data after error
If the last_ret status is not OK, skip output of any pending PCR scan buffer, similarly to how the pending decryption buffer is handled above.
This commit is contained in:
parent
07f49f15b1
commit
35c82fee32
1 changed files with 11 additions and 11 deletions
|
@ -871,20 +871,20 @@ gst_hls_demux_finish_fragment (GstAdaptiveDemux * demux,
|
||||||
hls_stream->pending_decrypted_buffer, TRUE);
|
hls_stream->pending_decrypted_buffer, TRUE);
|
||||||
hls_stream->pending_decrypted_buffer = NULL;
|
hls_stream->pending_decrypted_buffer = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED) {
|
if (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED) {
|
||||||
if (hls_stream->pending_pcr_buffer) {
|
if (hls_stream->pending_pcr_buffer) {
|
||||||
GstBuffer *buf = hls_stream->pending_pcr_buffer;
|
GstBuffer *buf = hls_stream->pending_pcr_buffer;
|
||||||
hls_stream->pending_pcr_buffer = NULL;
|
hls_stream->pending_pcr_buffer = NULL;
|
||||||
|
|
||||||
ret = gst_hls_demux_handle_buffer (demux, stream, buf, TRUE);
|
ret = gst_hls_demux_handle_buffer (demux, stream, buf, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_LOG_OBJECT (stream,
|
||||||
|
"Fragment PCRs were %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT,
|
||||||
|
GST_TIME_ARGS (hls_stream->tsreader.first_pcr),
|
||||||
|
GST_TIME_ARGS (hls_stream->tsreader.last_pcr));
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_LOG_OBJECT (stream,
|
|
||||||
"Fragment PCRs were %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT,
|
|
||||||
GST_TIME_ARGS (hls_stream->tsreader.first_pcr),
|
|
||||||
GST_TIME_ARGS (hls_stream->tsreader.last_pcr));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gst_hls_demux_stream_clear_pending_data (hls_stream);
|
gst_hls_demux_stream_clear_pending_data (hls_stream);
|
||||||
|
|
Loading…
Reference in a new issue