platform/upstream/gstreamer.git
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;

11 years agompdparser: added support for single-segment streams with the URL encoded in the baseU...
Gianluca Gennari [Mon, 8 Oct 2012 14:59:21 +0000 (16:59 +0200)]
mpdparser: added support for single-segment streams with the URL encoded in the baseURL syntax element

11 years agompdparser: added lang attribute to ProgramInformation node
Gianluca Gennari [Mon, 8 Oct 2012 13:26:48 +0000 (15:26 +0200)]
mpdparser: added lang attribute to ProgramInformation node

11 years agompdparser: added support for Accessibility, Role, Rating, Viewpoint elements to Adapt...
Gianluca Gennari [Mon, 8 Oct 2012 09:47:45 +0000 (11:47 +0200)]
mpdparser: added support for Accessibility, Role, Rating, Viewpoint elements to AdaptationSet node

those are DescriptorType elements, so they are just parsed and dumped for now;

11 years agompdparser: support multiple ProgramInformation nodes
Gianluca Gennari [Mon, 8 Oct 2012 09:30:40 +0000 (11:30 +0200)]
mpdparser: support multiple ProgramInformation nodes

now we keep a list of ProgramInformation nodes for each Period node

11 years agompdparser: fixed parsing of SegmentList syntax element, and eliminated Represention...
Gianluca Gennari [Mon, 8 Oct 2012 09:16:09 +0000 (11:16 +0200)]
mpdparser: fixed parsing of SegmentList syntax element, and eliminated Represention node list from Period node

SegmentList nodes are allowed into Period, AdaptationSet or Representation nodes
and there is at most 1 element, so no need to keep a list;

Period nodes cannot have any Represention elements, as AdaptationSet nodes are mandatory;
this breaks compatibility with some legacy DASH test sequences.

11 years agompdparser: fixed return with no value
Gianluca Gennari [Mon, 8 Oct 2012 08:29:04 +0000 (10:29 +0200)]
mpdparser: fixed return with no value

gstmpdparser.c: In function ‘gst_mpdparser_get_list_and_nb_of_audio_language’:
gstmpdparser.c:2891: warning: ‘return’ with no value, in function returning non-void

11 years agompdparser.c/.h: changed license from dual MIT/LGPL 2.0 to LGPL 2.1
Gianluca Gennari [Mon, 8 Oct 2012 08:24:29 +0000 (10:24 +0200)]
mpdparser.c/.h: changed license from dual MIT/LGPL 2.0 to LGPL 2.1

uniformed licencinsing to the other libraries in the dashdemux project

11 years agoOptimize the two functions that return the number and the list of languages in a...
hzakari [Tue, 2 Oct 2012 00:28:58 +0000 (02:28 +0200)]
Optimize the two functions that return the number and the list of languages in a single function

11 years agoAdd the headers to the adaptationsets segments if any one of these changed representation
Hamid ZAKARI [Sat, 29 Sep 2012 03:27:51 +0000 (05:27 +0200)]
Add the headers to the adaptationsets segments if any one of these changed representation

11 years agoSupport Multi languages (need a decodebin2 patch)
Hamid ZAKARI [Sat, 29 Sep 2012 01:13:29 +0000 (03:13 +0200)]
Support Multi languages (need a decodebin2 patch)

11 years agoRemove the "TODO" comment
Hamid ZAKARI [Sat, 29 Sep 2012 00:41:13 +0000 (02:41 +0200)]
Remove the "TODO" comment

11 years agoRenamed LICENSE into COPYING
David Corvoysier [Fri, 28 Sep 2012 10:55:27 +0000 (12:55 +0200)]
Renamed LICENSE into COPYING

11 years agoUpdated authors
David Corvoysier [Fri, 28 Sep 2012 09:46:00 +0000 (11:46 +0200)]
Updated authors

11 years agoInitial import of gstdashdemux sources
David Corvoysier [Wed, 8 May 2013 14:13:32 +0000 (11:13 -0300)]
Initial import of gstdashdemux sources

11 years agoUse DVB API v5 aka S2API instead of obsolete v3 API
Sebastian Pölsterl [Fri, 26 Oct 2012 16:00:02 +0000 (18:00 +0200)]
Use DVB API v5 aka S2API instead of obsolete v3 API

Patch is based on work of Tony Houghton <h@realh.co.uk>

https://bugzilla.gnome.org/show_bug.cgi?id=654479

11 years agosmoothstreaming: pass width, height, channels and rate as integer
Tim-Philipp Müller [Wed, 8 May 2013 14:42:01 +0000 (15:42 +0100)]
smoothstreaming: pass width, height, channels and rate as integer

g_ascii_strtoull() returns a long long integer, but we need to
pass a normal int to gst_structure_set() for fields of G_TYPE_INT,
so cast appropriately.

11 years agovdpau: Add VdpVideoSurface caps feature
Sreerenj Balachandran [Wed, 8 May 2013 09:45:20 +0000 (12:45 +0300)]
vdpau: Add VdpVideoSurface caps feature

11 years agosmoothstreaming: fix WMV caps
Tim-Philipp Müller [Wed, 8 May 2013 09:55:16 +0000 (10:55 +0100)]
smoothstreaming: fix WMV caps

Makes this show at least a picture:
http://playready.directtaps.net/smoothstreaming/TTLSS720VC1/To_The_Limit_720.ism/Manifest

11 years agomssdemux: fixing compiler warnings about print formats
Thiago Santos [Tue, 23 Apr 2013 15:08:38 +0000 (12:08 -0300)]
mssdemux: fixing compiler warnings about print formats

11 years agosmoothstreaming: port to 1.0
Thiago Santos [Tue, 16 Apr 2013 22:35:03 +0000 (19:35 -0300)]
smoothstreaming: port to 1.0

11 years agomssdemux: remove already fixed TODO comment
Thiago Santos [Fri, 12 Apr 2013 18:59:04 +0000 (15:59 -0300)]
mssdemux: remove already fixed TODO comment

11 years agomssdemux: replace gst_value_deserialize with simpler function
Thiago Santos [Fri, 12 Apr 2013 18:58:17 +0000 (15:58 -0300)]
mssdemux: replace gst_value_deserialize with simpler function

The deserialization was only used to convert hex strings into
GstBuffers. Replace gst_value_deserialize with a simpler, direct
function.

11 years agomssdemux: fix newsegment event leak
Thiago Santos [Fri, 12 Apr 2013 18:56:35 +0000 (15:56 -0300)]
mssdemux: fix newsegment event leak

11 years agomssdemux: replace unused parameter
Thiago Santos [Fri, 12 Apr 2013 18:55:23 +0000 (15:55 -0300)]
mssdemux: replace unused parameter

The buffer parameter wasn't being used, it was only to signal if
a buffer was downloaded and advance to the next fragment in the
manifest.

Replace the buffer with a boolean that has the same effect and is
safer

11 years agomss: avoid GValue leak
Wim Taymans [Mon, 11 Mar 2013 09:09:40 +0000 (10:09 +0100)]
mss: avoid GValue leak

11 years agomssdemux: fix a small memory leak
Louis-Francis Ratté-Boulianne [Fri, 22 Feb 2013 22:00:30 +0000 (17:00 -0500)]
mssdemux: fix a small memory leak

11 years agomssdemux: avoid streaming to fail when download is cancelled
Louis-Francis Ratté-Boulianne [Tue, 19 Feb 2013 18:17:53 +0000 (13:17 -0500)]
mssdemux: avoid streaming to fail when download is cancelled

When download was failing repeatedly, it was causing streaming to fail even though it was cancelled on purpose (stopping tasks).

11 years agomssdemux: removing unused functions
Thiago Santos [Fri, 8 Feb 2013 05:01:46 +0000 (02:01 -0300)]
mssdemux: removing unused functions

11 years agomssdemux: switch bitrates without switching pads
Thiago Santos [Fri, 8 Feb 2013 03:51:30 +0000 (01:51 -0200)]
mssdemux: switch bitrates without switching pads

11 years agomssdemux: Check if pads are valid before removing.
Andre Moreira Magalhaes (andrunko) [Thu, 7 Feb 2013 18:26:46 +0000 (16:26 -0200)]
mssdemux: Check if pads are valid before removing.

11 years agomssdemux: add a maximum error count for downloads
Thiago Santos [Thu, 7 Feb 2013 06:10:46 +0000 (03:10 -0300)]
mssdemux: add a maximum error count for downloads

mssdemux will tolerate a few download errors before emitting an
error message to the bus

11 years agomssdemux: use streams bitrate individually
Thiago Santos [Wed, 6 Feb 2013 11:48:55 +0000 (08:48 -0300)]
mssdemux: use streams bitrate individually

connection setup times seem to matter when measuring the download
rate of different streams. Streams with longer fragments have a
*relatively* lower connection setup time and achieve higher bitrates.

Using the average seems unfair here, so use each stream's measured bitrate
to select its best quality option.

11 years agomssdemux: use downloadbitrate utility for measuring bitrate
Thiago Santos [Tue, 5 Feb 2013 20:48:42 +0000 (17:48 -0300)]
mssdemux: use downloadbitrate utility for measuring bitrate

downloadbitrate keeps a short history of bitrates and helps
tracking the current average download bitrate for mssdemux