gstreamer/ext/dash
Mathieu Duponchelle 7ca6d9634a dashdemux: Fix handling of live streams with timeshift buffers.
By implementing get_live_seek_range.

As shown by :

gst-validate-1.0 playbin \
uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php

This patch handles live seeking, by setting a live seek range
comprised between now - timeShiftBufferDepth and now.

The inteersting thing with this stream is that one can actually
ask fragments up to availabilityStartTime, but it seems quite clear
in the spec that content is only guaranteed to exist up to
timeShiftBufferDepth.

One can test live seeking this way :

gst-validate-1.0 playbin \
uri=http://dev-iplatforms.kw.bbc.co.uk/dash/news24-avc3/news24.php \
--set-scenario seek_back.scenario

with scenario being:

description, seek=true
seek, playback-time=position+5.0, start="position-600.0",
flags=accurate+flush

This example will play the stream, wait for five seconds, then seek back
to a position 10 minutes earlier.

https://bugzilla.gnome.org/show_bug.cgi?id=744362
2015-02-12 22:47:26 +01: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: Fix handling of live streams with timeshift buffers. 2015-02-12 22:47:26 +01:00
gstdashdemux.h dashdemux: use audio_%02u and video_%02u names for pads 2015-01-26 18:03:40 -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: set proper stream type to streams 2015-02-12 11:16:25 -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