dashdemux: index information returned by gst_mpd_client_get_next_fragment is not used
Submitted by Florin Apostol
Link to original bug (#752714)
Description
The gst_mpd_client_get_next_fragment function will set the index information for each media segment. But this information is never used by the caller function gst_dash_demux_stream_update_fragment_info. The stream->fragment data is set with all other information except the index related ones.
But even if the gst_dash_demux_stream_update_fragment_info function will properly update the index information on stream->fragment, the gstadaptivedemux is written such that the index is downloaded only when the header is retrieved (in the gst_adaptive_demux_stream_download_header_fragment function).
I believe the index downloading code should be moved from gst_adaptive_demux_stream_download_header_fragment to gst_adaptive_demux_stream_download_fragment so that it is attempted for each media fragment. According to the standard, each media segment can have its own segment index, so gstadaptivedemux should try to get all of them, not just the first one.
I don't have any real life examples that use segment index. If some could be provided, I could test this and provide a patch.