platform/upstream/gstreamer.git
11 years agodashdemux: Remove unusued method.
Andre Moreira Magalhaes (andrunko) [Thu, 7 Feb 2013 18:22:13 +0000 (16:22 -0200)]
dashdemux: Remove unusued method.

11 years agodashdemux: Set stream need_header after seek and has_data_queued to FALSE when flushi...
Andre Moreira Magalhaes (andrunko) [Thu, 7 Feb 2013 16:09:44 +0000 (14:09 -0200)]
dashdemux: Set stream need_header after seek and has_data_queued to FALSE when flushing stream.

11 years agodashdemux: do not pause/start the stream loop on playing/paused changes
Thiago Santos [Thu, 7 Feb 2013 06:09:28 +0000 (03:09 -0300)]
dashdemux: do not pause/start the stream loop on playing/paused changes

The demuxer shouldn't care about paused/playing, it should act the
same in both states

11 years agodashdemux: remove property that isn't used anymore
Thiago Santos [Wed, 6 Feb 2013 16:31:18 +0000 (13:31 -0300)]
dashdemux: remove property that isn't used anymore

Remove some pieces of code that are from an old property
that isn't used anymore

11 years agodashdemux: add a downloadrate utility
Thiago Santos [Tue, 5 Feb 2013 20:38:06 +0000 (17:38 -0300)]
dashdemux: add a downloadrate utility

A small struct that keeps a short history of fragment download bitrates
to have an average measure of N last fragments instead of using only
the last downloaded bitrate

11 years agodashdemux: sprinkling some more log
Thiago Santos [Tue, 5 Feb 2013 17:24:45 +0000 (14:24 -0300)]
dashdemux: sprinkling some more log

11 years agodashdemux: change bitrates based on the stream bitrate
Thiago Santos [Tue, 5 Feb 2013 17:22:51 +0000 (14:22 -0300)]
dashdemux: change bitrates based on the stream bitrate

Do not use a global bitrate as the sizes of the fragments matter
when calculating the download rate as the connection setup time is
also being taken into the download duration, a smaller fragment
will have a lower bitrate than a larger one.

This avoids switching the bitrates for streams frequently because
of bitrate mismatches

11 years agodashdemux: refactor to use the uridownloader lib instead of internal copy
Thiago Santos [Tue, 5 Feb 2013 03:45:06 +0000 (00:45 -0300)]
dashdemux: refactor to use the uridownloader lib instead of internal copy

11 years agodashdemux: Make sure switch_pads won't leak any pad.
Andre Moreira Magalhaes (andrunko) [Tue, 5 Feb 2013 03:29:28 +0000 (01:29 -0200)]
dashdemux: Make sure switch_pads won't leak any pad.

11 years agodashdemux: Properly stop download and stream tasks where appropriate.
Andre Moreira Magalhaes (andrunko) [Tue, 5 Feb 2013 00:58:32 +0000 (22:58 -0200)]
dashdemux: Properly stop download and stream tasks where appropriate.

11 years agodashdemux: avoid an assertion when stopping the pipeline
Thiago Santos [Fri, 1 Feb 2013 05:12:25 +0000 (02:12 -0300)]
dashdemux: avoid an assertion when stopping the pipeline

Avoids asserting when dataqueues are setting to flushing due
to a pipeline stop during a pad switch.

11 years agodashdemux: download the next fragment with smaller timestamp
Thiago Santos [Fri, 1 Feb 2013 05:10:15 +0000 (02:10 -0300)]
dashdemux: download the next fragment with smaller timestamp

Instead of downloading 1 fragment per stream per download loop,
select the stream with the earlier timestamp and get a fragment
only for that one.

The old algorithm would lead to problems when the fragment durations
were too different for streams.

11 years agodashdemux: track segments in the demuxer
Thiago Santos [Fri, 1 Feb 2013 03:37:33 +0000 (00:37 -0300)]
dashdemux: track segments in the demuxer

Use a GstSegment to track the current segment information in the
demuxer.

11 years agodashdemux: remove buffering message emission from dashdemux
Thiago Santos [Fri, 1 Feb 2013 03:33:00 +0000 (00:33 -0300)]
dashdemux: remove buffering message emission from dashdemux

dashdemux shouldn't emit the buffering message as that can pause
the pipeline. It has no proper knowledge of the downstream buffering
status so it can pause the pipeline when it isn't necessary. It should
have an internal buffer for downloading the streams ahead of playback,
but that shouldn't make it able to stop the pipeline for buffering.

A particular case in which this is bad is when a pad switch happens
(changing bitrates for example), the new pads dashdemux creates
will get linked to demuxers and new queues will be created,
these queues are initially empty and dashdemux will quickly
drain its buffers by pushing them to those queues. So it
would have no more buffers internally and would emit a
buffering message with a low ratio, causing the pipeline
to pause when it wouldn't be necessary.

11 years agodashdemux: removing unused code
Thiago Santos [Wed, 30 Jan 2013 20:31:04 +0000 (17:31 -0300)]
dashdemux: removing unused code

Cleaning up by removing unused code and variables

11 years agodashdemux: re-enable and fix adaptive switching
Thiago Santos [Wed, 30 Jan 2013 20:27:47 +0000 (17:27 -0300)]
dashdemux: re-enable and fix adaptive switching

It is still unstable, but at least it works when the switches aren't
happening after every fragment

11 years agodashdemux: correctly signal EOS on manifest end
Thiago Santos [Tue, 29 Jan 2013 18:58:50 +0000 (15:58 -0300)]
dashdemux: correctly signal EOS on manifest end

Put EOS on the streams queues after the last fragment from the
last period for each stream. This way we keep it serialized
with the buffers and it will work when streams have different
ending times

11 years agodashdemux: detect end-of-period correctly
Thiago Santos [Tue, 29 Jan 2013 16:08:27 +0000 (13:08 -0300)]
dashdemux: detect end-of-period correctly

Detect end of period when there are no more buffers on any of the
streams

11 years agodashdemux: Use the smallest queue value to define buffering state
Thiago Santos [Tue, 29 Jan 2013 16:04:01 +0000 (13:04 -0300)]
dashdemux: Use the smallest queue value to define buffering state

The smallest queue should be used to prevent blocking the download
thread when a stream has too much data buffered, leaving the other
streams starving from fragments

11 years agodash: fix parsing of streams to get correct fragment durations
Thiago Santos [Tue, 29 Jan 2013 14:22:52 +0000 (11:22 -0300)]
dash: fix parsing of streams to get correct fragment durations

Use the current stream base time instead of the 0th stream base time
to get default duration for fragments.

11 years agodashdemux: block waiting for buffers instead of busy wait
Thiago Santos [Tue, 29 Jan 2013 04:06:52 +0000 (01:06 -0300)]
dashdemux: block waiting for buffers instead of busy wait

Make the streaming loop block waiting for buffers on the queues instead
of busy waiting eating cpu continuously on a queue length check

11 years agodashdemux: fix seeking on multiple streams
Thiago Santos [Mon, 28 Jan 2013 22:43:46 +0000 (19:43 -0300)]
dashdemux: fix seeking on multiple streams

Each stream has its own durations and timestamps, the fragment number
is different for each stream when seeking, so the seek has to be done
for all streams, rather than on a single stream and propagated to
others

11 years agodashdemux: Replace GQueue by GstDataQueue
Thiago Santos [Mon, 28 Jan 2013 21:52:04 +0000 (18:52 -0300)]
dashdemux: Replace GQueue by GstDataQueue

GstDataQueue has proper locking and provides functions to limit the
size of the queue. Also has blocking calls that are useful to
our multithread scenario in Dash.

11 years agodashdemux: move the buffers queues to the streams
Thiago Santos [Mon, 28 Jan 2013 15:28:29 +0000 (12:28 -0300)]
dashdemux: move the buffers queues to the streams

Store the buffers separately for each stream, this is clearer than
having a queue with a list of buffers. It also allows easier selection
of buffers to push in later refactors

11 years agodashdemux: refactor streams data to its own struct
Thiago Santos [Mon, 28 Jan 2013 13:46:27 +0000 (10:46 -0300)]
dashdemux: refactor streams data to its own struct

Keeps code more organized and similar to what other demuxers
usually do

11 years agodash: do not try to print a pointer as a string
Thiago Santos [Fri, 25 Jan 2013 16:04:15 +0000 (13:04 -0300)]
dash: do not try to print a pointer as a string

11 years agodashdemux: Remove timing code that delays pushing of fragments
Thiago Santos [Fri, 25 Jan 2013 15:45:18 +0000 (12:45 -0300)]
dashdemux: Remove timing code that delays pushing of fragments

Fragments should be pushed ASAP as downstream should be responsible for
doing the syncrhonization and proper buffering.

This has the great side effect of fixing most of the seeking A/V sync issues.

11 years agodash: fixing build warnings
Thiago Santos [Fri, 25 Jan 2013 12:36:35 +0000 (09:36 -0300)]
dash: fixing build warnings

Also running through gst-indent

11 years agogstdashdemux: add need_header member to know whether the initialization fragment...
Louis-Francis Ratté-Boulianne [Wed, 23 Jan 2013 21:43:12 +0000 (16:43 -0500)]
gstdashdemux: add need_header member to know whether the initialization fragment should be pushed

11 years agodashdemux: don't wait for the whole duration of a fragment when seeking
Louis-Francis Ratté-Boulianne [Wed, 23 Jan 2013 18:20:25 +0000 (13:20 -0500)]
dashdemux: don't wait for the whole duration of a fragment when seeking

11 years agodashdemux: switch pads and send header file when a newsegment event is sent
Louis-Francis Ratté-Boulianne [Wed, 23 Jan 2013 18:19:21 +0000 (13:19 -0500)]
dashdemux: switch pads and send header file when a newsegment event is sent

11 years agodashdemux: various fixes
Louis-Francis Ratté-Boulianne [Wed, 16 Jan 2013 18:58:52 +0000 (13:58 -0500)]
dashdemux: various fixes

11 years agoApplied gst-indent
David Corvoysier [Thu, 20 Dec 2012 08:04:28 +0000 (09:04 +0100)]
Applied gst-indent

11 years agoReplaced URL pointing to obsolete Klagenfurt MPD by a new one
David Corvoysier [Tue, 18 Dec 2012 10:21:22 +0000 (11:21 +0100)]
Replaced URL pointing to obsolete Klagenfurt MPD by a new one

11 years agompdparser: fix escape sequence in URL template resolving
Gianluca Gennari [Mon, 17 Dec 2012 14:46:32 +0000 (15:46 +0100)]
mpdparser: fix escape sequence in URL template resolving

11 years agompdparser: do not switch pads when bitstreamSwitching = true
Gianluca Gennari [Mon, 17 Dec 2012 14:39:10 +0000 (15:39 +0100)]
mpdparser: do not switch pads when bitstreamSwitching = true

11 years agodashdemux: complete support for manifest file updates
Gianluca Gennari [Mon, 17 Dec 2012 14:19:33 +0000 (15:19 +0100)]
dashdemux: complete support for manifest file updates

11 years agodashdemux: add support for manifest file updates
Gianluca Gennari [Mon, 17 Dec 2012 14:12:58 +0000 (15:12 +0100)]
dashdemux: add support for manifest file updates

- the MPD file is updated in the download loop (only if we have a "dynamic" MPD and minimumUpdatePeriod is valid);
- properly LOCK/UNLOCK the GstMpdClient;

11 years agodashdemux: new API to set/get segment index and period index
Gianluca Gennari [Mon, 17 Dec 2012 14:04:45 +0000 (15:04 +0100)]
dashdemux: new API to set/get segment index and period index

TODO: rework segment selection to support Representations or Adaptation Sets with segments not aligned

11 years agodashdemux: new API to load the stream Period with a given index
Gianluca Gennari [Mon, 17 Dec 2012 14:00:52 +0000 (15:00 +0100)]
dashdemux: new API to load the stream Period with a given index

this avoids to fiddle with stream internals in the code

11 years agodashdemux: implement seeking across Periods
Gianluca Gennari [Mon, 17 Dec 2012 13:54:42 +0000 (14:54 +0100)]
dashdemux: implement seeking across Periods

11 years agoApplied gst-indent
David Corvoysier [Wed, 21 Nov 2012 13:14:34 +0000 (14:14 +0100)]
Applied gst-indent

11 years agoBy default, do not forward pad queries upstream, because it may have unforessen side...
David Corvoysier [Wed, 21 Nov 2012 13:14:21 +0000 (14:14 +0100)]
By default, do not forward pad queries upstream, because it may have unforessen side-effects (forwarding the new 1.0 GST_CAPS query would prevent pad linking for instance)

11 years agoplugin: register as dashdemux instead of fragmented
Olivier Blin [Mon, 12 Nov 2012 09:54:35 +0000 (10:54 +0100)]
plugin: register as dashdemux instead of fragmented

This fixes conflicts with the HLS plugin, which is also named
fragmented.
When building its registry, gstreamer was picking one or the other
between hls and dashdemux.

11 years agodashdemux: check if we have received the MPD file in the proper way
Gianluca Gennari [Thu, 25 Oct 2012 15:55:02 +0000 (17:55 +0200)]
dashdemux: check if we have received the MPD file in the proper way

11 years agompdparser: silence warning
Gianluca Gennari [Thu, 25 Oct 2012 15:53:53 +0000 (17:53 +0200)]
mpdparser: silence warning

11 years agodashdemux: fix printing buffering time and download rate/size
Olivier Blin [Thu, 25 Oct 2012 15:15:09 +0000 (17:15 +0200)]
dashdemux: fix printing buffering time and download rate/size

This was broken on armv7.

11 years agodashdemux: fix unused-but-set variable
Olivier Blin [Thu, 25 Oct 2012 15:17:35 +0000 (17:17 +0200)]
dashdemux: fix unused-but-set variable

11 years agodashdemux: use new gst_mpd_client_get_next_fragment_duration API
Olivier Blin [Thu, 25 Oct 2012 14:49:21 +0000 (16:49 +0200)]
dashdemux: use new gst_mpd_client_get_next_fragment_duration API

This fixes build that has been broken by commit
fb9aeac6552021b176a4c4bd07265e02a0b70e0f.

gst_mpd_client_get_target_duration has been removed, and
gst_mpd_client_get_next_fragment_duration should be used instead.

11 years agodashdemux: remove FIXME comment
Gianluca Gennari [Wed, 24 Oct 2012 15:28:40 +0000 (17:28 +0200)]
dashdemux: remove FIXME comment

pad switching across multiple periods works perfectly fine now
and it is done only when there is a change in the CAPS

11 years agodashdemux: send new-segment events to all pads
Gianluca Gennari [Wed, 24 Oct 2012 14:55:20 +0000 (16:55 +0200)]
dashdemux: send new-segment events to all pads

11 years agodashdemux: reworked the API to retrieve fragment timestamp, fragment duration and...
Gianluca Gennari [Wed, 24 Oct 2012 14:30:01 +0000 (16:30 +0200)]
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.

11 years agodashdemux: use effective segment duration to reschedule the streaming task
Gianluca Gennari [Wed, 24 Oct 2012 12:50:54 +0000 (14:50 +0200)]
dashdemux: use effective segment duration to reschedule the streaming task

do not assume segment duration is constant

Conflicts:

ext/dash/gstdashdemux.c

11 years agodashdemux: reworked gst_dash_demux_get_buffering_time() to return the effective buffe...
Gianluca Gennari [Wed, 24 Oct 2012 12:24:05 +0000 (14:24 +0200)]
dashdemux: reworked gst_dash_demux_get_buffering_time() to return the effective buffering time

do not assume the Fragment duration is constant

11 years agodashdemux: complete support for Media Presentations with several Periods
Gianluca Gennari [Wed, 24 Oct 2012 09:49:51 +0000 (11:49 +0200)]
dashdemux: complete support for Media Presentations with several Periods

- Periods are played in sequence, from PeriodStart to PeriodEnd
- seamless switching from one Period to the next one works fine;
- the 'new-segment' generation is broken, so if we need to switch pads for a new Period there is a crash;

11 years agompdparser: initial support for Media Presentations made of several Periods
Gianluca Gennari [Mon, 22 Oct 2012 16:12:30 +0000 (18:12 +0200)]
mpdparser: initial support for Media Presentations made of several Periods

- build a list of the available Periods with their start and duration time
- add the list of GstStreamPeriod in the GstMpdClient data struct
- remove cur_period from GstMpdClient and introduce an API to get the current GstStreamPeriod
- several API clean-ups

11 years agompdparser: support BaseURL for SegmentURL using mediaRange
Olivier Blin [Wed, 24 Oct 2012 16:10:47 +0000 (18:10 +0200)]
mpdparser: support BaseURL for SegmentURL using mediaRange

This is used in big_buck_bunny_CappedVBR_Multirate_4s_0_AudioVideo_MainProfile.mpd

11 years agompdparser: factorize adding range parameter to URL
Olivier Blin [Wed, 24 Oct 2012 16:04:07 +0000 (18:04 +0200)]
mpdparser: factorize adding range parameter to URL

11 years agodashdemux: reworked caps detection
Gianluca Gennari [Fri, 19 Oct 2012 18:12:09 +0000 (20:12 +0200)]
dashdemux: reworked caps detection

also reworked the API to extract audio/video parameters from the manifest file
(mimeType, width, height, rate, num channels)

11 years agodashdemux: do not send bogus duration messages when mediaPresentationDuration is...
Gianluca Gennari [Fri, 19 Oct 2012 17:03:41 +0000 (19:03 +0200)]
dashdemux: do not send bogus duration messages when mediaPresentationDuration is unknown

11 years agompdparser: support SegmentTimeline syntax also for list-based media segment generation
Gianluca Gennari [Fri, 19 Oct 2012 16:45:30 +0000 (18:45 +0200)]
mpdparser: support SegmentTimeline syntax also for list-based media segment generation

11 years agompdparser: add support for SegmentTimeline syntax elements
Gianluca Gennari [Fri, 19 Oct 2012 15:47:51 +0000 (17:47 +0200)]
mpdparser: add support for SegmentTimeline syntax elements

build the list of segments to be played using the SegmentTimeline syntax, if present
bugfixes:
- for dynamic MPD files, when mediaPresentationDuration is not present use minimumUpdatePeriod instead
- do not add a spurious '$' when building an URL from a template like "$Bandwidth$/init.mp4v"
- introduce gst_mpd_client_add_media_segment() to avoid code duplication

11 years agoFixed wrong index in fragments
David Corvoysier [Fri, 19 Oct 2012 13:42:51 +0000 (15:42 +0200)]
Fixed wrong index in fragments

11 years agompdparser: fix memory leak in gst_mpd_client_get_next_fragment_set()
Gianluca Gennari [Fri, 19 Oct 2012 10:01:03 +0000 (12:01 +0200)]
mpdparser: fix memory leak in gst_mpd_client_get_next_fragment_set()

we have to free next_fragment_uri

11 years agoRemoved unused function
David Corvoysier [Fri, 19 Oct 2012 08:50:16 +0000 (10:50 +0200)]
Removed unused function

11 years agoSeek event handling cleanup
David Corvoysier [Fri, 19 Oct 2012 08:43:49 +0000 (10:43 +0200)]
Seek event handling cleanup

11 years agodashdemux: fix playing of single-segment media streams
Gianluca Gennari [Thu, 18 Oct 2012 16:49:53 +0000 (18:49 +0200)]
dashdemux: fix playing of single-segment media streams

other fixes:
- fixed a buffering bug: now we stop buffering when we reach the end of manifest
- now gst_mpd_client_get_target_duration() always returns a valid duration
(in case of single-segment streams, we return either Period duration or mediaPresentation duration)
TODO: support SegmentTimeline

11 years agouridownloader: deleted useless declaration of gst_uri_downloader_free()
Gianluca Gennari [Wed, 17 Oct 2012 16:46:22 +0000 (18:46 +0200)]
uridownloader: deleted useless declaration of gst_uri_downloader_free()

11 years agouridownloader: when possible, reuse existing element to download a new URI
Gianluca Gennari [Wed, 17 Oct 2012 16:45:25 +0000 (18:45 +0200)]
uridownloader: when possible, reuse existing element to download a new URI

previously a new element was allocated for each media segment, and it was never freed

11 years agodashdemux: unref caps in function need_add_header()
Gianluca Gennari [Wed, 17 Oct 2012 16:43:26 +0000 (18:43 +0200)]
dashdemux: unref caps in function need_add_header()

11 years agodashdemux: fix extraction of SegmentTemplate->initialization in gst_mpd_client_get_ne...
Gianluca Gennari [Wed, 17 Oct 2012 16:42:02 +0000 (18:42 +0200)]
dashdemux: fix extraction of SegmentTemplate->initialization in gst_mpd_client_get_next_header()

now the following MPD files are properly supported:

http://dash.edgesuite.net/adobe/hdworld_dash/HDWorld-1600.mpd
http://dash.edgesuite.net/adobe/hdworld_dash/HDWorld.mpd

11 years agodashdemux: fix memory leak in gst_dash_demux_get_next_header()
Gianluca Gennari [Wed, 17 Oct 2012 16:40:02 +0000 (18:40 +0200)]
dashdemux: fix memory leak in gst_dash_demux_get_next_header()

11 years agoWe now only accept actual manifest files, and not any XML file
David Corvoysier [Wed, 17 Oct 2012 13:52:19 +0000 (15:52 +0200)]
We now only accept actual manifest files, and not any XML file

11 years agoAdded a typefind helper for DASH: this commit should be reverted as soon as a proper...
David Corvoysier [Wed, 17 Oct 2012 13:50:33 +0000 (15:50 +0200)]
Added a typefind helper for DASH: this commit should be reverted as soon as a proper patch has been submitted to gst-plugins-base

11 years agoFixed state machine (again)
David Corvoysier [Wed, 17 Oct 2012 08:02:39 +0000 (10:02 +0200)]
Fixed state machine (again)

11 years agoCode refactoring
David Corvoysier [Tue, 16 Oct 2012 14:46:17 +0000 (16:46 +0200)]
Code refactoring

11 years agoFixed state machine
David Corvoysier [Tue, 16 Oct 2012 14:34:10 +0000 (16:34 +0200)]
Fixed state machine

11 years agoImprove consistency of the tasks shutdown code
David Corvoysier [Tue, 16 Oct 2012 11:43:39 +0000 (13:43 +0200)]
Improve consistency of the tasks shutdown code

11 years agoAdded missing g_list_free
David Corvoysier [Tue, 16 Oct 2012 10:51:44 +0000 (12:51 +0200)]
Added missing g_list_free

11 years agoDo not answer to URI queries
David Corvoysier [Tue, 16 Oct 2012 09:44:26 +0000 (11:44 +0200)]
Do not answer to URI queries

11 years agoTry queries upstream if we cannot process them
David Corvoysier [Tue, 16 Oct 2012 09:39:18 +0000 (11:39 +0200)]
Try queries upstream if we cannot process them

11 years agoRenamed demux->next_stream in demux->next_push
David Corvoysier [Tue, 16 Oct 2012 09:26:03 +0000 (11:26 +0200)]
Renamed demux->next_stream in demux->next_push

11 years agoInlined one-line utility funciton that was called only once
David Corvoysier [Tue, 16 Oct 2012 09:23:26 +0000 (11:23 +0200)]
Inlined one-line utility funciton that was called only once

11 years agoFixed regression after the introduction of the multi-screen support, preventing the...
David Corvoysier [Tue, 16 Oct 2012 07:10:00 +0000 (09:10 +0200)]
Fixed regression after the introduction of the multi-screen support, preventing the pipeline from stopping properly

11 years agoModified log level of shutdown message
David Corvoysier [Mon, 15 Oct 2012 14:41:28 +0000 (16:41 +0200)]
Modified log level of shutdown message

11 years agoComments: We don't select a single representation, but a representation for each...
David Corvoysier [Mon, 15 Oct 2012 13:08:53 +0000 (15:08 +0200)]
Comments: We don't select a single representation, but a representation for each stream Code: cleanup of gst_get_next_fragment (also renamed in gst_get_next_fragment_set)

11 years agoRemoved debug trace
David Corvoysier [Mon, 15 Oct 2012 12:25:27 +0000 (14:25 +0200)]
Removed debug trace

11 years agoAdded introduction and general design notes
David Corvoysier [Mon, 15 Oct 2012 12:14:53 +0000 (14:14 +0200)]
Added introduction and general design notes

11 years agoFixed wrong comment
David Corvoysier [Mon, 15 Oct 2012 11:54:17 +0000 (13:54 +0200)]
Fixed wrong comment

11 years agoDocumented gst_dash_demux_download_loop
David Corvoysier [Mon, 15 Oct 2012 11:52:31 +0000 (13:52 +0200)]
Documented gst_dash_demux_download_loop

11 years agoCommented gst_dash_demux_stream_loop
David Corvoysier [Mon, 15 Oct 2012 11:35:15 +0000 (13:35 +0200)]
Commented gst_dash_demux_stream_loop

11 years agoCommented needs_pad_switch
David Corvoysier [Mon, 15 Oct 2012 11:17:12 +0000 (13:17 +0200)]
Commented needs_pad_switch

11 years agoDocumented the representation switch mechanism
David Corvoysier [Mon, 15 Oct 2012 11:09:49 +0000 (13:09 +0200)]
Documented the representation switch mechanism

11 years agoReplaced references to playlist (HLS) by references to manifest (DASH)
David Corvoysier [Mon, 15 Oct 2012 09:40:55 +0000 (11:40 +0200)]
Replaced references to playlist (HLS) by references to manifest (DASH)

11 years agoRenamed gst_dash_demux_switch_playlist to gst_dash_demux_select_representation and...
David Corvoysier [Mon, 15 Oct 2012 09:33:58 +0000 (11:33 +0200)]
Renamed gst_dash_demux_switch_playlist to gst_dash_demux_select_representation and added comments

11 years agoRemoved obsolete comment
David Corvoysier [Mon, 15 Oct 2012 09:19:29 +0000 (11:19 +0200)]
Removed obsolete comment

11 years agoApplied gst-indent
David Corvoysier [Mon, 15 Oct 2012 09:18:25 +0000 (11:18 +0200)]
Applied gst-indent

11 years agoUpdated README
David Corvoysier [Thu, 11 Oct 2012 10:54:50 +0000 (12:54 +0200)]
Updated README

11 years agompdparser: support MPD files with SegmentBase elements encoded inside a SegmentList...
Gianluca Gennari [Tue, 9 Oct 2012 11:24:23 +0000 (13:24 +0200)]
mpdparser: support MPD files with SegmentBase elements encoded inside a SegmentList element

also properly support MPD files without any Initialization segment

11 years agompdparser/dashdemux: fixed get_width, get_height, get_audio_rate, get_num_audio_chann...
Gianluca Gennari [Mon, 8 Oct 2012 15:43:14 +0000 (17:43 +0200)]
mpdparser/dashdemux: fixed get_width, get_height, get_audio_rate, get_num_audio_channels API functions

the actual values now can be extracted also from the AdaptationSet element;
checking NULL structs for better robustness;