Thiago Santos
1483b59c6b
dashdemux: add combine flows function
...
Use a flow combination function to decide the result from the
stream_loop
2013-12-24 17:07:51 -03:00
Thiago Santos
6611d14eed
dashdemux: handle multiple languages
...
Handle multiple languages by using the not-linked return to stop
the download task for that stream. It can be reactivated when
a reconfigure event is received. Stopping the unused streams is
relevant to save network bandwidth
2013-12-24 17:07:51 -03:00
Thiago Santos
31e4ba0094
dashdemux: Use 1 download task per stream
...
Instead of having a single download task for all streams, this
commit makes each stream have its own download loop, allowing
parallel download of fragments.
2013-12-24 17:07:51 -03:00
Thiago Santos
3bd66d17fc
dashdemux: refactor fragment fetching into smaller functions
...
Makes it easier to maintain and extend. This is a first step into
adding multi language support to dashdemux
2013-12-24 17:07:51 -03:00
Thiago Santos
1d2de4a034
dashdemux: run gst-indent
...
Lots of indentation issues making it very annoying to commit
because of the indent hook. Fix this for once.
2013-12-24 17:07:51 -03:00
Thiago Santos
08636f3bab
dashdemux: expose all streams
...
always expose all streams instead of only exposing one of each type.
This is more aligned with gstreamer's way of working. Allows the user
to select the stream that it wants to use by linking its pad and leaving
the unused ones as unlinked.
2013-12-24 17:07:51 -03:00
Sebastian Dröge
7f5422c06d
eglglessink: Properly clean up renderbuffers and EAGL context
2013-12-24 11:51:16 +01:00
Sebastian Dröge
2d17cd62ef
adpcmenc: Properly set output format
...
Otherwise this will just error out if we only set caps on the srcpad.
2013-12-23 15:33:42 +01:00
Tim-Philipp Müller
6ae2ee9880
Automatic update of common submodule
...
From dbedaa0 to d48bed3
2013-12-22 22:33:51 +00:00
Tim-Philipp Müller
c96c7a5315
po: set gettext domain in Makevars so we don't have to patch the generated Makefile.in.in
...
https://bugzilla.gnome.org/show_bug.cgi?id=705455
2013-12-22 22:16:43 +00:00
Alessandro Decina
cd90748c5b
applemedia: vtdec: set the correct stride in the video meta
2013-12-22 17:48:25 +01:00
Alessandro Decina
7a8d918472
applemedia: atdec: fix aac decoding on Mavericks
2013-12-22 17:48:25 +01:00
Stefan Sauer
0e3917b9c0
modplug: small seeking code reshuffle
...
Put the code that checks stop values together. Don't clamp a cur value of -1 to 0 (should not happen right now).
2013-12-20 20:00:55 +01:00
Stefan Sauer
a18ad22b47
sfdec: make _stop() non fatal when we have an error already
...
Having no open file in _stop() is okay. Just reset state.
2013-12-20 20:00:55 +01:00
Stefan Sauer
0c34d807d4
sfdec: add event function and seeking support
2013-12-20 20:00:55 +01:00
Stefan Sauer
bf956c487f
sfdec: add taglist support
...
Map the metadata strings and a bunch of info-fields to GStreamer tags.
2013-12-20 20:00:55 +01:00
Stefan Sauer
b884eac02c
sfdec: add query implementation for position and duration
2013-12-20 20:00:55 +01:00
Stefan Sauer
5f89bee749
sndfile: rewrite sndfile for 1.0
...
Add a sfdec for a start. Instead of a source plugin, this is a demuxer/decoder combination. This makes it work with auto-plugging.
2013-12-20 20:00:54 +01:00
Thiago Santos
6348113777
mssdemux: updating docs explaining how it works
...
mssdemux changed a lot and the docs were not correct anymore.
Also adds the 'Adaptive' category to its details
2013-12-20 00:40:42 -03:00
Thiago Santos
ff1e88ce93
mssdemux: do not push event holding object lock
...
Can lead to deadlocks as the push might block downstream in
serialized event cases.
2013-12-20 00:40:42 -03:00
Thiago Santos
aa61251371
mssdemux: lock around 'cancelled' flag
...
Prevents race conditions when pipeline is seeking near eos
2013-12-20 00:40:42 -03:00
Sebastian Dröge
30c93d504c
audiomixer: Also resync timestamps on the RESYNC flag
2013-12-19 21:59:09 +01:00
Sebastian Dröge
d9525c134b
eglglessink: Don't set the EAGLContext of the main thread and don't reuse it either
...
... instead create a new context for every sink instance.
https://bugzilla.gnome.org/show_bug.cgi?id=720421
2013-12-19 21:37:33 +01:00
Alessandro Decina
cf2cf20cc3
applemedia: corevideobuffer: fix for planar formats
2013-12-19 08:59:39 +01:00
Alessandro Decina
a75ddf446b
applemedia: vtdec: remove silly stride requirement
...
This is legacy from the 0.10 times, and it isn't clear how it was useful back
then also.'
2013-12-19 08:59:39 +01:00
Jan Schmidt
81ad21d63e
directfb: Add hack to fix compile with broken DirectFB define
...
Compilation breaks because some versions of DirectFB redefine
__no_instrument_function__, which is used in the G_GNUC_NO_INSTRUMENT
macro.
2013-12-19 11:23:23 +11:00
Thiago Santos
628461b4d1
mssdemux: fix segfault when trying to access codec_data
...
Check if codec_data was obtained before trying to use it to
prevent a segfault
2013-12-18 18:52:19 -03:00
Thiago Santos
5948a07324
mssdemux: also generate caps from audiotag attribute
...
Some audio will have its audio format defined by the AudioTag
instead of the Fourcc. Fallback to using AudioTag if Fourcc
isn't available
2013-12-18 18:52:19 -03:00
Thiago Santos
26acbbcca9
mssdemux: make sure streams stop properly on cancelled
...
specially when the gst_task_join is waiting for the task
to go stop and the task itself sets its back to paused, causing
a deadlock on exit.
2013-12-18 18:52:19 -03:00
Thiago Santos
99c8fb7330
mssdemux: track segments per stream
...
As streams now flow independently, the GstSegment needs to be put
on each stream so they can track the position of each one correctly
instead of being mixed in a single segment
2013-12-18 18:52:19 -03:00
Guillaume Desmottes
f44c6ed526
mssdemux: push language code tag
...
https://bugzilla.gnome.org/show_bug.cgi?id=712358
2013-12-18 18:52:19 -03:00
Guillaume Desmottes
d6a9f17d8a
mssmanifest: store the language of the stream
...
https://bugzilla.gnome.org/show_bug.cgi?id=712358
2013-12-18 18:52:19 -03:00
Thiago Santos
67f3190301
mssdemux: remove the stream loop task
...
Download and push from the same task, makes code a lot simpler
to maintain. Also pushing from separate threads avoids deadlocking
when gst_pad_push blocks due to downstream queues being full
2013-12-18 18:52:19 -03:00
Thiago Santos
4e6e1315da
mssdemux: Improve logging
...
Show the stream's pad on log messages to make easier to debug
issues in the multiple threads
2013-12-18 18:52:18 -03:00
Thiago Santos
056420940e
mssdemux: improve flow return handling
...
Handle different flow returns both from the streaming and the
downloading loops
2013-12-18 18:52:18 -03:00
Thiago Santos
e847bea1e1
mssdemux: remove stream locks
...
Simplify the locking by using a single lock instead of having one
lock per stream. This still works and is simpler to maintain.
2013-12-18 18:52:18 -03:00
Thiago Santos
2ce4f6a8e4
mssdemux: avoid downloading not-linked streams
...
When a stream gets a not-linked return, it will be marked as so and
won't download any more new fragments until a reconfigure event
is received. This will make mssdemux expose all pads, but only download
fragments for the streams that are actually being used.
Relying on the pads being linked/unlinked isn't enough in this scenario
as there might be an input-selector downstream that is actually discarding
buffers for a given linked pad.
When streams are switching, the old active stream can be blocked because
input-selector will block not-linked streams. In case the mssdemux's
stream loop is blocked pushing a buffer to a full queue downstream it will
never unblock as the queue will not drain (input-selector is blocking).
In this scenario, stream switching will deadlock as input-selector is
waiting for the newly active stream data and the stream_loop that would
push this data is blocked waiting for input-selector.
To solve this issue, whenever an stream is reactivated on a reconfigure
it will enter into the 'catch up mode', in this mode it can push buffers
from its download thread until it reaches the currrent GstSegment's position.
This works because this timestamp will always be behind or equal to the maximum
timestamp pushed for all streams, after pushing data for this timestamp,
the stream will go back to default and be pushed sequentially from the main
streaming thread. By this time, the input-selector should have already
released the thread.
https://bugzilla.gnome.org/show_bug.cgi?id=711849
2013-12-18 18:52:18 -03:00
Luis de Bethencourt
692a053ef8
mpegvideoparse: Fix documentation of GstMpegVideoSequenceScalableMode
2013-12-18 16:26:17 -05:00
Sebastian Dröge
73c40d6c62
pkgconfig: Don't include libraries in the generic gst-plugins-bad pc file
2013-12-18 13:48:54 +01:00
Mariusz Buras
d5b438a984
mpegts: Install generated headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=720673
2013-12-18 13:47:01 +01:00
Davide Bertola
72e989f2da
applemedia: vtdec: Enable hardware accelerated decoding on 10.9
2013-12-18 10:28:17 +01:00
Sebastian Dröge
d111f37f74
curl: Fix indention
2013-12-17 12:18:16 +01:00
Haridass Selvaraj
23ab7d8c49
curlftpsink: Optionally create a temporary file during FTP transfer/upload
...
https://bugzilla.gnome.org/show_bug.cgi?id=711620
2013-12-17 12:18:01 +01:00
Sebastian Dröge
46b62c72d8
decklinksink: Give preference to the order of the filter caps when querying caps
2013-12-17 10:23:15 +01:00
Sebastian Dröge
007807d149
decklinksink: Only intersect with the filter caps if there actually is a filter
2013-12-17 10:21:26 +01:00
Todd Agulnick
ccd9a9cb89
vc1parse: Some compiler warning fixes to satisfy XCode compiler
...
https://bugzilla.gnome.org/show_bug.cgi?id=720513
2013-12-16 16:53:25 +01:00
Sebastian Dröge
a27d8d00a6
id3tag: Read image-description from the info structure, not the caps
2013-12-16 16:07:44 +01:00
Aurélien Zanelli
588b0e342b
configure.ac: Fix typo in bz2 check
...
https://bugzilla.gnome.org/show_bug.cgi?id=720532
2013-12-16 16:02:30 +01:00
Sebastian Dröge
2ce2017650
id3tag: Write image-type into the APIC tag
2013-12-16 11:51:00 +01:00
Sebastian Dröge
b3f198b67d
vc1parse: Post VIDEO_CODEC tag
2013-12-16 10:25:22 +01:00