summaryrefslogtreecommitdiff
path: root/ext/hls/gsthlsdemux.c
diff options
context:
space:
mode:
authorSeungha Yang <seungha.yang@navercorp.com>2017-11-04 20:39:39 +0900
committerSebastian Dröge <slomo@coaxion.net>2019-06-18 07:14:28 +0000
commit48657bf846b58f0275313575f829a041b4b963c6 (patch)
treecef3ae079a0a31421e9f923506b8242b6c3ec178 /ext/hls/gsthlsdemux.c
parentf9dc67c37279110ae67c9210a1720bb707cee003 (diff)
downloadgstreamer-plugins-bad-48657bf846b58f0275313575f829a041b4b963c6.tar.gz
hlsdemux: Set fragment header uri if exists
To allow downloading fragment hearder, set its uri if there is available "Media Initialization" parsed from EXT-X-MAP tag https://bugzilla.gnome.org/show_bug.cgi?id=776928
Diffstat (limited to 'ext/hls/gsthlsdemux.c')
-rw-r--r--ext/hls/gsthlsdemux.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c
index 013f12af0..d4ca55634 100644
--- a/ext/hls/gsthlsdemux.c
+++ b/ext/hls/gsthlsdemux.c
@@ -1090,6 +1090,18 @@ gst_hls_demux_update_fragment_info (GstAdaptiveDemuxStream * stream)
return GST_FLOW_EOS;
}
+ if (GST_ADAPTIVE_DEMUX_STREAM_NEED_HEADER (stream) && file->init_file) {
+ GstM3U8InitFile *header_file = file->init_file;
+ stream->fragment.header_uri = g_strdup (header_file->uri);
+ stream->fragment.header_range_start = header_file->offset;
+ if (header_file->size != -1) {
+ stream->fragment.header_range_end =
+ header_file->offset + header_file->size - 1;
+ } else {
+ stream->fragment.header_range_end = -1;
+ }
+ }
+
if (stream->discont)
discont = TRUE;