hlsdemux: Set fragment header uri if exists
authorSeungha Yang <seungha.yang@navercorp.com>
Sat, 4 Nov 2017 11:39:39 +0000 (20:39 +0900)
committerSebastian Dröge <slomo@coaxion.net>
Tue, 18 Jun 2019 07:14:28 +0000 (07:14 +0000)
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

ext/hls/gsthlsdemux.c

index 013f12a..d4ca556 100644 (file)
@@ -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;