[Bug 788763] dashdemux: segmentbase type with 'sidx' is not working as expected.

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Oct 16 08:57:19 UTC 2017


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

--- Comment #6 from Jun Xie <jun.xie at samsung.com> ---
Review of attachment 361232:
 --> (https://bugzilla.gnome.org/review?bug=788763&attachment=361232)

please review my explaination, thanks

::: ext/dash/gstdashdemux.c
@@ +1357,1 @@
       }

yes, I agree "The range request should only be until the end of the current
SIDX entry", that is why here, range end shall be range.start + “current SIDX
entry”‘'s size 

fragment.range_end is not updated

@@ +2964,1 @@
           /* Need to jump to the requested SIDX entry. Push everything up to

(!stream->downloading_index)  this is added when sidx range is not explicitly
specified in the mpd file.
so that *sidx_seek_needed set to true, early terminate currently no-range
downloading whole file, then jump to the requested SIDX entry by using sidx
info.


'ref type 1' is not supported, so 'ref type 1' will downloaded as a whole file
without using 'sidx' info.    ref_type1_found added here to guarantee this
pattern not broken, otherwise 'ref type 1' will not be playback at all

::: gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ +3297,3 @@
           stream->fragment.index_range_end, NULL);
+      
+      gst_adaptive_demux_stream_update_fragment_info(stream->demux, stream);

in 'gst_adaptive_demux_stream_download_loop', 
'gst_adaptive_demux_stream_update_fragment_info' in called.
at this time, sidx is not retrieved and parsed yet.
fragment range will not be set.
after finish 'gst_adaptive_demux_stream_download_header_fragment', sidx is
retrieved and parsed, however fragment range is not set yet.

'gst_adaptive_demux_stream_update_fragment_info’ is added here to update
fragment range.
otherwise, the whole file will be downloaded without range request

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list