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
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
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
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
Aleix Conchillo Flaqué
fefd021ee2
srtp: add 256-bit key support
...
* ext/srtp/gstsrtp.[ch]: added GST_SRTP_CIPHER_AES_256_ICM to
GstSrtpCipherType and new function cipher_key_size.
* ext/srtp/gstsrtpenc.c: maximum key size is now 46 characters (14 for
the salt plus the key). If different ciphers are chosen for RTP and
RTCP the maximum needed key size is expected.
* ext/srtp/gstsrtpdec.c: minor documentation updates.
https://bugzilla.gnome.org/show_bug.cgi?id=720434
2013-12-13 17:51:18 -05:00
Tim-Philipp Müller
b3910cabaf
gsmdec: process all available input frames in one go
...
Instead of parsing, decoding and sending out
lots os little 20ms audio buffers one by one.
2013-12-12 23:34:27 +00:00
Jan Schmidt
8cca2d55f5
soundtouch: Call default event handler for basetransform
...
Make pipeline end properly at EOS and not leak by passing events
to the default event handler.
2013-12-10 23:06:53 +11:00
Jan Schmidt
d56d00cccd
resindvd: Remove racy glib warning.
...
Sometimes, the pad probes can be called twice - for OOB events
travelling downstream. Clear out the pad block id, so it only
gets removed once.
2013-12-10 22:48:47 +11:00
Tim-Philipp Müller
621bf0d22e
gsmdec: fix decoding of audio/ms-gsm variant
...
Alternates between 33 and 32 byte frames, but must start
with a 33 byte frame. This has been broken for ages since
the element was ported to the audio decoder base class.
https://bugzilla.gnome.org/show_bug.cgi?id=709416
2013-12-10 10:57:39 +00:00
Sebastian Dröge
c635cb233f
sbcdec: Require caps to be set before any data processing
2013-12-05 12:05:30 +01:00
Sebastian Dröge
2e80c88129
opusdec: Require caps to be set before any data processing
2013-12-05 12:04:59 +01:00
Sebastian Dröge
f1d863c296
mpg123audiodec: Require caps to be set before any data processing
2013-12-05 12:04:39 +01:00
Sebastian Dröge
f8caef5772
gsmdec: Require caps to be set before any data processing
2013-12-05 12:04:23 +01:00
Sebastian Dröge
0fbe76c4b5
openjpegdec: Use new gst_video_decoder_set_needs_format() API
2013-12-05 11:50:17 +01:00
Sebastian Dröge
23735c703d
daaladec: Use new gst_video_decoder_set_needs_format() API
2013-12-05 11:50:17 +01:00
Sebastian Dröge
a6bf25faa5
openexrdec: Instead of trying to parse the bitstream, just look for the next header
...
This should be more robust and allows us to handle new versions of the
file format if the library supports it.
2013-12-04 22:38:20 +01:00
Sebastian Dröge
26bf14c9fd
openni2src: Check color format
2013-12-03 14:53:24 +01:00
Sebastian Dröge
4b3d2a1b09
openni2src: Add support for the video meta
2013-12-03 14:47:32 +01:00
Sebastian Dröge
dbb64a69f4
openni2src: Use GstVideoFrame API for better handling of strides
...
And do proper stride conversion.
2013-12-03 14:46:25 +01:00
Sebastian Dröge
39c82d0dec
openni2src: Fix buffer handling to actually work and properly timestamp buffers
2013-12-03 14:35:57 +01:00
Sebastian Dröge
7a3eaa8f8a
openni2src: Don't shut down library when finalizing an element instance
2013-12-03 14:35:42 +01:00
Sebastian Dröge
04e8d63597
openni2src: Fix negotiation and creation of a video buffer pool
2013-12-03 14:35:21 +01:00
Sebastian Dröge
034757e936
openni2src: Use debug category properly
2013-12-03 14:34:56 +01:00
Sebastian Dröge
6450d87c63
openni2src: Classification of the element should be Source/Video
2013-12-02 17:03:46 +01:00
Sebastian Dröge
4b7bead2d4
openni2src: Use GstVideoInfo to create caps and don't leak them
2013-12-02 17:02:17 +01:00
Sebastian Dröge
1ba3edf682
openni2src: Some random cleanup and minor fixes
2013-12-02 16:59:14 +01:00
Miguel Casas-Sanchez
64675f0712
openni: Add OpenNNI2 plugin
...
https://bugzilla.gnome.org/show_bug.cgi?id=708914
2013-12-02 11:17:02 +01:00
Tim-Philipp Müller
40c10dc59e
mpeg2enc: avoid list for one single value in template caps
2013-12-01 23:31:25 +00:00
Antonio Ospite
c4fbff50df
mssdemux: fix setting codec_data when using WaveFormatEx
...
When using WaveFormatEx the actual codec private data is at the end of
the wav header structure, after the cbSize field, see for example the
notes at http://wiki.multimedia.cx/index.php?title=WAVEFORMATEX
The previous code was erroneously passing the whole WAVEFORMATEX
structure as codec_data.
The smoothstreaming specifications[1,2,3] always mention WAVEFORMATEX
and never smaller structures like WAVEFORMAT or PCMWAVEFORMAT, so the
buffer can assumed to be at least 18 bytes and always consuming the wav
header gives the (possibly empty) codec private data.
[1] http://web.archive.org/web/20120907004742/http://www.iis.net/community/files/media/smoothspecs/%5BMS-SMTH%5D.pdf
[2] http://download.microsoft.com/download/B/0/B/B0B199DB-41E6-400F-90CD-C350D0C14A53/%5BMS-SSTR%5D.pdf
[3] http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/%5BMS-SSTR%5D.pdf
https://bugzilla.gnome.org/show_bug.cgi?id=699924
2013-11-27 09:26:36 -03:00
Antonio Ospite
f02e7a2439
mssdemux: use mssdemux_debug debug category for gstmssmanifest.c too
2013-11-27 09:26:36 -03:00