dashdemux: Ensure sidx parsing when updating fragment info
authorSeungha Yang <sh.yang@lge.com>
Fri, 23 Dec 2016 06:31:34 +0000 (15:31 +0900)
committerSebastian Dröge <sebastian@centricular.com>
Fri, 23 Dec 2016 10:16:10 +0000 (12:16 +0200)
Fix seek fail with On-Demand profile mpd which has no indexRange attribute

https://bugzilla.gnome.org/show_bug.cgi?id=776431

ext/dash/gstdashdemux.c

index 5dddc20..d99691a 100644 (file)
@@ -1124,7 +1124,8 @@ gst_dash_demux_stream_update_fragment_info (GstAdaptiveDemuxStream * stream)
   if (GST_ADAPTIVE_DEMUX_STREAM_NEED_HEADER (stream) && isombff) {
     gst_dash_demux_stream_update_headers_info (stream);
     dashstream->sidx_base_offset = stream->fragment.index_range_end + 1;
-    if (dashstream->sidx_index != 0) {
+    /* sidx entries may not be available in here */
+    if (dashstream->sidx_index != 0 && SIDX (dashstream)->entries) {
       /* request only the index to be downloaded as we need to reposition the
        * stream to a subsegment */
       return GST_FLOW_OK;