summaryrefslogtreecommitdiff
path: root/ext/hls/gsthlsdemux.c
diff options
context:
space:
mode:
authorJan Schmidt <jan@centricular.com>2016-08-04 04:53:50 +1000
committerJan Schmidt <jan@centricular.com>2016-08-04 04:53:50 +1000
commit35c82fee320385b25c28c411300b37ae9a137b70 (patch)
tree79345eb473649f44b8c0731e3c6e1b19e4e76a92 /ext/hls/gsthlsdemux.c
parent07f49f15b1196cc9fa0d45af91149a35fce123b9 (diff)
downloadgstreamer-plugins-bad-35c82fee320385b25c28c411300b37ae9a137b70.tar.gz
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.
Diffstat (limited to 'ext/hls/gsthlsdemux.c')
-rw-r--r--ext/hls/gsthlsdemux.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c
index aab0dbeac..8824931da 100644
--- a/ext/hls/gsthlsdemux.c
+++ b/ext/hls/gsthlsdemux.c
@@ -871,20 +871,20 @@ gst_hls_demux_finish_fragment (GstAdaptiveDemux * demux,
hls_stream->pending_decrypted_buffer, TRUE);
hls_stream->pending_decrypted_buffer = NULL;
}
- }
- if (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED) {
- if (hls_stream->pending_pcr_buffer) {
- GstBuffer *buf = hls_stream->pending_pcr_buffer;
- hls_stream->pending_pcr_buffer = NULL;
+ if (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED) {
+ if (hls_stream->pending_pcr_buffer) {
+ GstBuffer *buf = hls_stream->pending_pcr_buffer;
+ 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);