From b45dd51fb16d036d75d030b3d1c6d94cbfd6b157 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Mon, 30 Jan 2017 14:13:06 +0900 Subject: [PATCH] hlsdemux: Do not clear/advance fragment by finished header downloading Header data must be forwarded to downstream, but if demux does not finish to finding type (e.g., ts, mp4 and etc), this header data can be cleared by _stream_clear_pending_data(). Moreover, although demux finish downloading header data, still it has fragment date to be downloaded, fragment sequence shouldn't be advanced yet at that moment. https://bugzilla.gnome.org/show_bug.cgi?id=776928 --- ext/hls/gsthlsdemux.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c index 4317d65..013f12a 100644 --- a/ext/hls/gsthlsdemux.c +++ b/ext/hls/gsthlsdemux.c @@ -947,6 +947,9 @@ gst_hls_demux_finish_fragment (GstAdaptiveDemux * demux, } } + if (G_UNLIKELY (stream->downloading_header || stream->downloading_index)) + return GST_FLOW_OK; + gst_hls_demux_stream_clear_pending_data (hls_stream); if (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED) -- 2.7.4