gstreamer/ext/dash
Thiago Santos 3055bb331a dashdemux: implement ISOBMFF profile handling
The ISOBMFF profile allows definind subsegments in a segment. At those
subsegment boundaries the client can switch from one representation to
another as they have aligned indexes.

To handle those the 'sidx' index is parsed from the stream and the
entries point to pts/offset of the samples in the stream. Knowing that
the entries are aligned in the different representation allows the client
to switch mid fragment. In this profile a single fragment is used per
representation and the subsegments are contained in this fragment.

To notify the superclass about the subsegment boundary the chunk_received
function returns a special flow return that indicates that. In this case,
the super class will check if a more suitable bitrate is available and will
change to the same subsegment in this new representation.

It also requires special handling of the position in the stream as the
fragment advancing is now done by incrementing the index of the subsegment.
It will only advance to the next fragment once all subsegments have been
downloaded.

https://bugzilla.gnome.org/show_bug.cgi?id=741248
2015-01-16 17:07:05 -03:00
..
gstdash_debug.h dash: use same debug category for dashdemux and the mpd parser 2013-07-01 14:22:02 -03:00
gstdashdemux.c dashdemux: implement ISOBMFF profile handling 2015-01-16 17:07:05 -03:00
gstdashdemux.h dashdemux: implement ISOBMFF profile handling 2015-01-16 17:07:05 -03:00
gstisoff.c dashdemux: parse the sidx index from isobmff streams 2015-01-16 15:00:11 -03:00
gstisoff.h dashdemux: parse the sidx index from isobmff streams 2015-01-16 15:00:11 -03:00
gstmpdparser.c dashdemux: check for profiles 2015-01-16 15:00:11 -03:00
gstmpdparser.h dashdemux: check for profiles 2015-01-16 15:00:11 -03:00
gstplugin.c dashdemux: do not ignore failure to register typefinder 2014-04-10 17:52:02 +01:00
Makefile.am dashdemux: parse the sidx index from isobmff streams 2015-01-16 15:00:11 -03:00