Commit graph

2359 commits

Author SHA1 Message Date
Vincent Penquerc'h
0ca385a970 opus: multichannel support 2011-11-24 13:40:34 +00:00
Vincent Penquerc'h
5da03cd2a4 opus: switch to multistream API
It's very similar to the basic API, and is a superset ot it,
which will allow encoding and decoding more than 2 channels.
2011-11-24 13:40:34 +00:00
Vincent Penquerc'h
745cc8d4e4 opusdec: shuffle supported sample rates to favor 48000 2011-11-24 13:40:34 +00:00
Vincent Penquerc'h
f1477522de opusenc: remove useless setup field 2011-11-24 13:40:34 +00:00
Mark Nauwelaerts
9680108d77 faac: do not leak buffer when no encoded data yet or encoding error 2011-11-23 23:30:00 +01:00
Mark Nauwelaerts
8b5fbcaedd dtsdec: port to audiodecoder 2011-11-23 23:29:10 +01:00
Krzysztof Krakowiak
4286414e00 modplug: fix modules playing as mono instead of stereo
replaced broken if-return logic for fixating rate and number
of channels that caused that modules were always (after
successful fixation of rate) played as mono (instead of
stereo) by correct one with appropiate warnings.

https://bugzilla.gnome.org/show_bug.cgi?id=619035
2011-11-23 15:30:28 +00:00
Vincent Penquerc'h
4bd5ef9bc5 opusdec: implement replay gain
It would ideally be better to leave this to a rgvolume element,
but we don't control the pipeline. So do it by default, and allow
disabling it via a property, so the correct volume should always
be output.
2011-11-23 14:03:30 +00:00
Vincent Penquerc'h
b80f52a729 opusdec: add in-band FEC support
This allows reconstruction of lost packets if FEC info is included
in the next packet, at the cost of extra latency. Since we do not
know if the stream has FEC (and this can change at runtime), we
always incur the latency, even if we never lose any frame, or see
any FEC information. Off by default.
2011-11-23 12:08:01 +00:00
Tim-Philipp Müller
cd851cc712 opusenc: mark properties changeable at runtime with GST_PARAM_MUTABLE_PLAYING 2011-11-22 20:27:50 +00:00
Vincent Penquerc'h
5e1df00674 opusenc: allow setting most properties at PLAYING time
Opus allows these to be changed during encoding, transparently
to the decoder.
2011-11-22 17:04:09 +00:00
Vincent Penquerc'h
5367aa8dbf opusenc: bound the bitrate to more sensible values
Go from the bounds mentioned in the spec, and allow some more
variation.
In particular, don't allow silly low bitrates, and allow reaching
the maximum useful bitrate.
2011-11-22 16:14:06 +00:00
Vincent Penquerc'h
49e08a1835 opusenc: fix crash on pathological parameters
Asking for 1 bit/s would select a 0 byte buffer, leading
to a crash. Buffer size is now controlled by a max-payload-size
property, which can't be less than 2.
2011-11-22 15:33:20 +00:00
Vincent Penquerc'h
da5c41930c opusparse: do not send headers through data path
Additionally, since Opus packets may change between stereo
and mono as the encoder sees fit, assume two channels when
we do not see a header, and use the header value otherwise.
2011-11-22 13:20:32 +00:00
Vincent Penquerc'h
694775a7b1 opus: move header magic testing to gstopusheader 2011-11-22 13:20:31 +00:00
Vincent Penquerc'h
5ac7ff57fd opusdec: skip pre-skip samples 2011-11-22 13:20:31 +00:00
Vincent Penquerc'h
b98cc2d092 opusdec: read pre-skip from first header if available 2011-11-22 13:20:31 +00:00
Vincent Penquerc'h
6bcf813ed0 opusenc: reset tagsetter interface on stop 2011-11-21 12:02:28 +00:00
Vincent Penquerc'h
d95530bfbf opusdec: handle NULL packets (used for PLC) 2011-11-21 11:51:21 +00:00
Vincent Penquerc'h
b9d47a00ca opusdec: light cleanup 2011-11-21 11:51:21 +00:00
Vincent Penquerc'h
6c2c0aef53 opusparse: parse raw opus packets 2011-11-21 11:51:21 +00:00
Vincent Penquerc'h
c0695ba7f2 opusenc: do not push header buffers
Opus headers appear only when muxed in Ogg, so only place them
on the caps, where oggmux will find them, but other elements will
be blithely unaware of them.
2011-11-21 11:51:21 +00:00
Vincent Penquerc'h
bff6e3c628 opus: make opusparse set headers on caps
Header-on-caps code moved to a new shared location to avoid
duplicating the code.
2011-11-21 11:51:20 +00:00
Vincent Penquerc'h
7664e28a0c opusenc: fix terminating NUL being written in signature 2011-11-19 15:59:53 +00:00
Vincent Penquerc'h
5dd147d705 opusenc: make frame-size an enum
It only supports a set number of specific values (including
a non integer one).
2011-11-19 15:59:52 +00:00
Vincent Penquerc'h
f8bb784135 opusenc: the encoder might not make use of all the bytes 2011-11-19 15:59:52 +00:00
Stefan Sauer
b7cb6ecedb opencv: use caps constants more 2011-11-18 20:57:31 +01:00
Stefan Sauer
4f69b60ac0 opencv: fixup doc blobs 2011-11-18 20:57:31 +01:00
Stefan Sauer
c613904c68 opencv: fixup gobject naming conventions 2011-11-18 20:57:31 +01:00
Stefan Sauer
ee91057526 opencv: remove empty finalize implementations 2011-11-18 08:30:37 +01:00
Mark Nauwelaerts
97279f1dfd voamrwbenc: port to audioencoder 2011-11-17 23:04:23 +01:00
Mark Nauwelaerts
53723f81eb voaacenc: some code shuffle cleanup 2011-11-17 23:04:21 +01:00
Mark Nauwelaerts
ea92249ee2 voaacenc: port to audioencoder 2011-11-17 23:04:18 +01:00
Mark Nauwelaerts
56701570e9 celtenc: properly report error case 2011-11-17 23:04:15 +01:00
Mark Nauwelaerts
8104d7a2ec celtdec: remove unused instance variable 2011-11-17 23:04:05 +01:00
Stefan Sauer
fefa1df8b9 facedetect: detect face features
Also detect mouth, nose and eyes. Drop faces that don't have them. Fixes leaking the
cascades. Adds more docs.
2011-11-16 21:03:36 +01:00
Stefan Sauer
a857c90590 facedetect: Gstfacedetect -> GstFacedetect 2011-11-16 21:03:36 +01:00
Stefan Sauer
94534a0b83 facedetect: code maintenance
Update example to be useful. Draw colored ellipses instead of unicolor circles.
Reflow code for more local variables. Improve parameter descriptions.
2011-11-16 21:03:36 +01:00
Vincent Penquerc'h
15b5fecf30 opusenc: do not include variable fields in caps
Those can vary from one packet to the next, so have no reason
to be in the caps.
2011-11-16 18:51:16 +00:00
Vincent Penquerc'h
af8771ef2f opusenc: fix constrained-vbr property name typo 2011-11-16 18:51:16 +00:00
Vincent Penquerc'h
714ced7d19 opusdec: let the base class handle all timing 2011-11-16 18:35:29 +00:00
Mark Nauwelaerts
2842e14263 celtdec: port to audiodecoder 2011-11-16 19:19:15 +01:00
Mark Nauwelaerts
c90f45df00 celtenc: port to audioencoder 2011-11-16 19:13:02 +01:00
Vincent Penquerc'h
5efa9ebec8 opusparse: add opusparse element
A very simple element that parses Opus streams from the ad hoc
framing used by the Opus test vectors.
2011-11-16 17:58:15 +00:00
Vincent Penquerc'h
a02e18917f opusdec: allow negotiation of rate/channels with downstream
Since an opus stream may be decoded to any (sensible) rate,
and either stereo or mono, we try to accomodate downstream.
2011-11-16 17:45:00 +00:00
Vincent Penquerc'h
d10cbd0268 opusdec: rewrite logic
Parameters such as frame size, etc, are variable. Pretty much
everything can change within a stream, so be prepared about it,
and do not cache parameters in the decoder.
2011-11-16 17:45:00 +00:00
Vincent Penquerc'h
da1eaa2d78 opus: port to base audio encoder/decoder 2011-11-16 17:45:00 +00:00
Mart Raudsepp
61cc352902 mimic, opencv, vp8, acmmp3dec, linsys: Don't build static plugins
Pass --tag=disable-static to libtool everywhere where it's been forgotten

https://bugzilla.gnome.org/show_bug.cgi?id=663768
2011-11-11 11:54:15 +00:00
Vincent Penquerc'h
609ae9b812 opusenc: fix bandwidth property type mismatch 2011-11-10 17:14:10 +00:00
Vincent Penquerc'h
ab27c0da8e tiger: add a 'silent' property to skip rendering
https://bugzilla.gnome.org/show_bug.cgi?id=662857
2011-11-07 12:14:57 +00:00
Vincent Penquerc'h
cabc01f107 resindvdsrc: do not try to seek before the first chapter
https://bugzilla.gnome.org/show_bug.cgi?id=589064
2011-11-07 11:55:59 +00:00
Vincent Penquerc'h
826eb57183 celtenc: fix latency query
https://bugzilla.gnome.org/show_bug.cgi?id=616421
2011-11-07 11:21:27 +00:00
Vincent Penquerc'h
97d456bad2 opusenc: fix latency query
This makes live 'audiosrc ! opusenc ! opusdec ! audiosink' pipelines
actually work without all audio being dumped.

https://bugzilla.gnome.org/show_bug.cgi?id=660999
2011-11-07 11:21:27 +00:00
Vincent Penquerc'h
18c2d1ef9f opusenc: use debug level for debug info, not error
https://bugzilla.gnome.org/show_bug.cgi?id=660999
2011-11-07 11:21:27 +00:00
Vincent Penquerc'h
ac95f56d2e celtenc: fix calculation of filler data size
https://bugzilla.gnome.org/show_bug.cgi?id=660469
2011-11-07 11:21:26 +00:00
Vincent Penquerc'h
4a4b1f472e opusenc: fix calculation of filler data size
https://bugzilla.gnome.org/show_bug.cgi?id=660469
2011-11-07 11:21:26 +00:00
Tim-Philipp Müller
4060056ce6 assrender, nuvdemux: unref buffers with gst_buffer_unref() 2011-10-18 14:41:48 +01:00
Vincent Penquerc'h
9f9d52c6cb opusdec: fix decoding
A simple ... opusenc ! opusdec ... pipeline now works.

https://bugzilla.gnome.org/show_bug.cgi?id=660364
2011-10-03 11:21:37 +02:00
Vincent Penquerc'h
532e90a34d opusenc: moan if we get an unexpected amount of data
https://bugzilla.gnome.org/show_bug.cgi?id=660364
2011-10-03 11:21:24 +02:00
Vincent Penquerc'h
934144c352 opus: properly setup caps and init state from caps
https://bugzilla.gnome.org/show_bug.cgi?id=660364
2011-10-03 11:21:15 +02:00
Vincent Penquerc'h
85de20b8a1 opusenc: use the same frame size setup as the opus test code
https://bugzilla.gnome.org/show_bug.cgi?id=660364
2011-10-03 11:21:02 +02:00
Vincent Penquerc'h
8caa7adb5e opusdec: opus supports a select set of sampling rates
https://bugzilla.gnome.org/show_bug.cgi?id=660364
2011-10-03 11:20:52 +02:00
Vincent Penquerc'h
ae510870e9 opus: make it build against current, and remove cruft
https://bugzilla.gnome.org/show_bug.cgi?id=660364
2011-10-03 11:20:46 +02:00
Vincent Penquerc'h
fa3d661083 kate: avoid rendering when we know there is nothing to render
https://bugzilla.gnome.org/show_bug.cgi?id=660528
2011-10-03 10:38:43 +02:00
Vincent Penquerc'h
12bb47343d kate: fix race condition on PAUSED->READY state change
https://bugzilla.gnome.org/show_bug.cgi?id=660630
2011-10-03 10:36:35 +02:00
Sebastian Dröge
fc2434fd97 faac: Also set maximum number of samples that the subclass wants 2011-09-26 16:26:31 +02:00
Sebastian Dröge
874da87b25 faac: Simple fix for GstAudioEncoder API change 2011-09-26 16:05:40 +02:00
Tim-Philipp Müller
e37634e9f9 faad: fix compiler warning
gstfaad.c: In function 'gst_faad_parse':
gstfaad.c:615:11: error: 'len' may be used uninitialized in this function
2011-09-23 10:10:37 +01:00
Tim-Philipp Müller
c9f7e9b26d faad: parse wants a GstFlowReturn return value, not a gboolean 2011-09-23 09:57:01 +01:00
Mark Nauwelaerts
3900dc94ed faac: fixup misunderstanding in sample counting
... between codec and audioencoder regarding whether or not channel
count is already considered.

Fixes #659836.
2011-09-22 18:24:43 +02:00
Mark Nauwelaerts
131df954ce faad: use some more boilerplate 2011-09-22 16:06:07 +02:00
Mark Nauwelaerts
7234914e0f faad: port to audiodecoder 2011-09-22 16:06:04 +02:00
Mark Nauwelaerts
a7ed9677ba faac: use some more boilerplate 2011-09-22 16:02:52 +02:00
Mark Nauwelaerts
c8a3567923 faac: port to audioencoder 2011-09-22 16:02:49 +02:00
Vincent Penquerc'h
70be630427 kate: forward return code from setting src pad caps
https://bugzilla.gnome.org/show_bug.cgi?id=659606
2011-09-21 13:59:54 +02:00
Vincent Penquerc'h
fe0a2ec885 celt: a bit more error checking on header parsing
https://bugzilla.gnome.org/show_bug.cgi?id=659087
2011-09-19 09:39:16 +02:00
Vincent Penquerc'h
d8684fffa1 celtenc: cleanup header creation
Avoid an extra copy via a temporary fixed size stack buffer.
Use libcelt's header size to allocate a buffer of the correct
size in the first place (libcelt has an off by 4 there, so
account for this).
While there, make size unsigned, and granpos signed.

https://bugzilla.gnome.org/show_bug.cgi?id=659087
2011-09-19 09:39:00 +02:00
Vincent Penquerc'h
06764fcd3f celtenc: do not use invalid buffer timestamps
https://bugzilla.gnome.org/show_bug.cgi?id=659087
2011-09-19 09:37:16 +02:00
Vincent Penquerc'h
37e688197d celtdec: fix error checking with libcelt 0.11
The return value of celt_decode has changed, newer versions
now return positive values on success.

https://bugzilla.gnome.org/show_bug.cgi?id=659087
2011-09-19 09:36:59 +02:00
Vincent Penquerc'h
90b2484648 celtenc: allow actually overriding frame size
https://bugzilla.gnome.org/show_bug.cgi?id=659087
2011-09-19 09:36:45 +02:00
Vincent Penquerc'h
c8bda2ed76 kate: flush on seek, and ensure we cancel any waiting buffer
This is what pango textoverlay does, and I've had that condition
variable get stuck once.

https://bugzilla.gnome.org/show_bug.cgi?id=658940
2011-09-19 09:35:24 +02:00
Olivier Crête
b872f84c96 spanplc: Fix typos 2011-09-15 18:17:52 -04:00
Alessandro Decina
f33b78abd1 rtmpsink: don't block the main thread with RTMP_Connect
Move the RTMP_Connect call from the main thread (::start) to the streaming
thread (::render).
2011-09-12 11:23:03 +02:00
Youness Alaoui
61ee9918be spandsp: Adding spandsp plugin with spanplc element for packet loss concealment 2011-09-08 18:11:33 -04:00
Stefan Sauer
e21c4abc50 kateparse: fix crap in object macros 2011-09-07 15:50:42 +02:00
David Schleef
cd35839e98 vp8enc: fix drop-frame property
Fixes #656929.
2011-09-01 17:04:52 -07:00
Josep Torra
d663259d4b mms: fix warnings related to the format on the debug lines. 2011-08-31 23:06:53 +02:00
Jan Schmidt
8fbf3a3129 soundtouch: Handling incoming rate when requested.
Absorb inbound segments with rate != 1.0 and output a segment with
rate taken from the new output-rate property, adjusting the segment
applied_rate, stream duration and timestamps as necessary to
compensate
2011-08-30 17:49:29 +10:00
Nicola Murino
436620fff9 fix valgrind warning about Conditional jump or move depends on uninitialised value(s) 2011-08-26 15:54:19 +02:00
Nicola Murino
71a2a1be8e Move m_pprevFrame free just before the clone of the latest frame for readability 2011-08-26 15:54:19 +02:00
Tim-Philipp Müller
dc3db053b5 kate: make gst_kate_util_is_utf8_string() inline to fix compiler warning with older libkate versions
gstkateutil.c:230:1: error: 'gst_kate_util_is_utf8_string' defined but not used
2011-08-24 16:54:31 +01:00
Vincent Penquerc'h
04f7876f94 rsndvd: ensure metadata is writable when writing to it
https://bugzilla.gnome.org/show_bug.cgi?id=657250
2011-08-24 16:37:30 +01:00
Vincent Penquerc'h
d1a6ca2203 kate: pass on timed event metadata as tags when we can
Metadata attached to other objects that may be used in this
event are not passed, as is binary metadata.
2011-08-23 10:34:48 +02:00
Vincent Penquerc'h
c24d052bb7 vp8: probe for the new tuning API to keep building with older libvpx
https://bugzilla.gnome.org/show_bug.cgi?id=656928
2011-08-23 10:23:21 +02:00
Vincent Penquerc'h
e323efc353 rsvgdec: use input buffer timings if possible
SVG data may come through multiple buffers, so keep track of the
timestamp of the first buffer, and use it in preference.

https://bugzilla.gnome.org/show_bug.cgi?id=628284
2011-08-23 10:21:04 +02:00
Vincent Penquerc'h
1ed91ad1db kate: do not consider an empty SPU to be a fatal error
Instead, just encode nothing and go on.

https://bugzilla.gnome.org/show_bug.cgi?id=657091
2011-08-23 10:16:30 +02:00
Vincent Penquerc'h
46cfb5fa4f kate: do not clear out high bits from display area
http://dvd.sourceforge.net/spu_notes does not mention that high bits
are to be masked, and not clearing them makes a sample work, where
clearing them yielded left > right.
History from the dvdspu plugin, from where this code was copied,
does not shed any light, as tracing this code's origin shows
the same bitmasks being there in 2007 when it was imported.

https://bugzilla.gnome.org/show_bug.cgi?id=657091
2011-08-23 10:16:22 +02:00
Vincent Penquerc'h
57ae8c4bf5 ofa: fingerprint creation can fail
There does not seem to be a way to retrieve information
about why failure occured, unfortunately.
When failure occurs, do not post a NULL fingerprint tag.

https://bugzilla.gnome.org/show_bug.cgi?id=656641
2011-08-18 11:10:52 +02:00
Vincent Penquerc'h
6ef56f56d7 ofa: cleanup
Avoid repeating casting to GstAudioFilter when one will do
Use object related logging to make it easier to get just the logs we want

https://bugzilla.gnome.org/show_bug.cgi?id=656641
2011-08-18 11:10:09 +02:00
Vincent Penquerc'h
683fbaa81a ofa: do not create fingerprint on EOS if record is FALSE
https://bugzilla.gnome.org/show_bug.cgi?id=656641
2011-08-18 11:07:48 +02:00