gstreamer/ext/dash
Gianluca Gennari 9387365fc9 dashdemux: reworked the API to retrieve fragment timestamp, fragment duration and media presentation duration
This was necessary to support variable-duration Fragments.

in the new API:
- gst_mpd_client_get_current_position returns the timestamp of the NEXT fragment to download;
- gst_mpd_client_get_next_fragment_duration returns the duration of the next fragment to download;
- gst_mpd_client_get_media_presentation_duration returns the mediaPresentationDuration from the MPD file;

also there is a new internal parser function:
- gst_mpd_client_get_segment_duration extracts the constant segment duration from the MPD file
(only used when there is no SegmentTimeline syntax element in the current representation)

In gst_mpd_client_get_next_fragment, we set the timestamp/duration of the fragment just downloaded
copying the values from the corresponding GstMediaSegment.

TODO: rework SEEKING to support seeking across different Periods.
2013-05-08 18:14:25 -03:00
..
AUTHORS Updated authors 2013-05-08 18:13:44 -03:00
COPYING Renamed LICENSE into COPYING 2013-05-08 18:13:44 -03:00
gstdashdemux.c dashdemux: reworked the API to retrieve fragment timestamp, fragment duration and media presentation duration 2013-05-08 18:14:25 -03:00
gstdashdemux.h dashdemux: complete support for Media Presentations with several Periods 2013-05-08 18:14:10 -03:00
gstfragment.c Initial import of gstdashdemux sources 2013-05-08 18:13:43 -03:00
gstfragment.h Initial import of gstdashdemux sources 2013-05-08 18:13:43 -03:00
gstfragmented.h Initial import of gstdashdemux sources 2013-05-08 18:13:43 -03:00
gstmpdparser.c dashdemux: reworked the API to retrieve fragment timestamp, fragment duration and media presentation duration 2013-05-08 18:14:25 -03:00
gstmpdparser.h dashdemux: reworked the API to retrieve fragment timestamp, fragment duration and media presentation duration 2013-05-08 18:14:25 -03:00
gstplugin.c Added a typefind helper for DASH: this commit should be reverted as soon as a proper patch has been submitted to gst-plugins-base 2013-05-08 18:13:57 -03:00
gsturidownloader.c uridownloader: when possible, reuse existing element to download a new URI 2013-05-08 18:14:00 -03:00
gsturidownloader.h uridownloader: deleted useless declaration of gst_uri_downloader_free() 2013-05-08 18:14:00 -03:00
Makefile.am Added a typefind helper for DASH: this commit should be reverted as soon as a proper patch has been submitted to gst-plugins-base 2013-05-08 18:13:57 -03:00
README Updated README 2013-05-08 18:13:55 -03:00

dashdemux

GStreamer plugin allowing the playback of MPEG DASH streams.

The plugin is based on some basic objects defined in the GStreamer HLS
Demux plugin from the gst-plugins-bad module.

Minimum requirements:
- glib 2.32.1
- gstreamer 0.10.36
- gst-plugins-base 0.10.36
- gst-plugins-good 0.10.31
- gst-plugins-bad 0.10.23

The following patches need in addition to be applied:

isomp4 (from gst-plugins-good):
https://bugzilla.gnome.org/show_bug.cgi?id=677535
https://bugzilla.gnome.org/show_bug.cgi?id=678767
https://bugzilla.gnome.org/show_bug.cgi?id=678772

decodebin2 (from gst-plugins-base):
https://bugzilla.gnome.org/show_bug.cgi?id=685938

To build gst-dashdemux:
./autogen.sh
./configure
./make
sudo make install

To launch gst-dashdemux:

gst-launch playbin2 uri=http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/RedBullPlayStreets/redbull_4s/RedBullPlayStreets_4s_isoffmain_DIS_23009_1_v_2_1c2_2011_08_30.mpd
 
gst-launch playbin2 uri=http://download.tsi.telecom-paristech.fr/gpac/DASH_CONFORMANCE/TelecomParisTech/mp4-main-multi/mp4-main-multi-mpd-AV-BS.mpd