platform/upstream/gst-plugins-base.git
12 years agoopusdec: fix bogus assertion
Vincent Penquerc'h [Fri, 25 Nov 2011 12:39:20 +0000 (12:39 +0000)]
opusdec: fix bogus assertion

12 years agoopus: pre-skip and output gain are little endian, remove reminder note
Vincent Penquerc'h [Thu, 24 Nov 2011 13:38:59 +0000 (13:38 +0000)]
opus: pre-skip and output gain are little endian, remove reminder note

12 years agoopus: multichannel support
Vincent Penquerc'h [Thu, 24 Nov 2011 13:29:56 +0000 (13:29 +0000)]
opus: multichannel support

12 years agoopus: switch to multistream API
Vincent Penquerc'h [Wed, 23 Nov 2011 17:49:58 +0000 (17:49 +0000)]
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.

12 years agoopusdec: shuffle supported sample rates to favor 48000
Vincent Penquerc'h [Wed, 23 Nov 2011 17:32:03 +0000 (17:32 +0000)]
opusdec: shuffle supported sample rates to favor 48000

12 years agoopusenc: remove useless setup field
Vincent Penquerc'h [Wed, 23 Nov 2011 16:36:54 +0000 (16:36 +0000)]
opusenc: remove useless setup field

12 years agoopusdec: implement replay gain
Vincent Penquerc'h [Wed, 23 Nov 2011 13:22:12 +0000 (13:22 +0000)]
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.

12 years agoopusdec: add in-band FEC support
Vincent Penquerc'h [Wed, 23 Nov 2011 11:58:54 +0000 (11:58 +0000)]
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.

12 years agoopusenc: mark properties changeable at runtime with GST_PARAM_MUTABLE_PLAYING
Tim-Philipp Müller [Tue, 22 Nov 2011 20:27:50 +0000 (20:27 +0000)]
opusenc: mark properties changeable at runtime with GST_PARAM_MUTABLE_PLAYING

12 years agoopus: add test
Vincent Penquerc'h [Tue, 22 Nov 2011 18:33:17 +0000 (18:33 +0000)]
opus: add test

12 years agoopusenc: allow setting most properties at PLAYING time
Vincent Penquerc'h [Tue, 22 Nov 2011 17:04:09 +0000 (17:04 +0000)]
opusenc: allow setting most properties at PLAYING time

Opus allows these to be changed during encoding, transparently
to the decoder.

12 years agoopusenc: bound the bitrate to more sensible values
Vincent Penquerc'h [Tue, 22 Nov 2011 16:14:06 +0000 (16:14 +0000)]
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.

12 years agoopusenc: fix crash on pathological parameters
Vincent Penquerc'h [Tue, 22 Nov 2011 15:33:20 +0000 (15:33 +0000)]
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.

12 years agoopus: move header magic testing to gstopusheader
Vincent Penquerc'h [Mon, 21 Nov 2011 17:48:54 +0000 (17:48 +0000)]
opus: move header magic testing to gstopusheader

12 years agoopusdec: skip pre-skip samples
Vincent Penquerc'h [Mon, 21 Nov 2011 17:01:49 +0000 (17:01 +0000)]
opusdec: skip pre-skip samples

12 years agoopusdec: read pre-skip from first header if available
Vincent Penquerc'h [Mon, 21 Nov 2011 12:50:22 +0000 (12:50 +0000)]
opusdec: read pre-skip from first header if available

12 years agoopusenc: reset tagsetter interface on stop
Vincent Penquerc'h [Mon, 21 Nov 2011 12:02:28 +0000 (12:02 +0000)]
opusenc: reset tagsetter interface on stop

12 years agoopusdec: handle NULL packets (used for PLC)
Vincent Penquerc'h [Mon, 21 Nov 2011 11:44:01 +0000 (11:44 +0000)]
opusdec: handle NULL packets (used for PLC)

12 years agoopusdec: light cleanup
Vincent Penquerc'h [Mon, 21 Nov 2011 11:28:10 +0000 (11:28 +0000)]
opusdec: light cleanup

12 years agoopusenc: do not push header buffers
Vincent Penquerc'h [Sun, 20 Nov 2011 09:58:06 +0000 (09:58 +0000)]
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.

12 years agoopus: make opusparse set headers on caps
Vincent Penquerc'h [Sun, 20 Nov 2011 09:52:46 +0000 (09:52 +0000)]
opus: make opusparse set headers on caps

Header-on-caps code moved to a new shared location to avoid
duplicating the code.

12 years agoopusenc: fix terminating NUL being written in signature
Vincent Penquerc'h [Sat, 19 Nov 2011 15:58:09 +0000 (15:58 +0000)]
opusenc: fix terminating NUL being written in signature

12 years agoopusenc: make frame-size an enum
Vincent Penquerc'h [Wed, 16 Nov 2011 19:40:20 +0000 (19:40 +0000)]
opusenc: make frame-size an enum

It only supports a set number of specific values (including
a non integer one).

12 years agoopusenc: the encoder might not make use of all the bytes
Vincent Penquerc'h [Wed, 16 Nov 2011 19:22:44 +0000 (19:22 +0000)]
opusenc: the encoder might not make use of all the bytes

12 years agoopusenc: do not include variable fields in caps
Vincent Penquerc'h [Wed, 16 Nov 2011 18:49:03 +0000 (18:49 +0000)]
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.

12 years agoopusenc: fix constrained-vbr property name typo
Vincent Penquerc'h [Wed, 16 Nov 2011 18:43:53 +0000 (18:43 +0000)]
opusenc: fix constrained-vbr property name typo

12 years agoopusdec: let the base class handle all timing
Vincent Penquerc'h [Wed, 16 Nov 2011 18:35:29 +0000 (18:35 +0000)]
opusdec: let the base class handle all timing

12 years agoopusparse: add opusparse element
Vincent Penquerc'h [Tue, 15 Nov 2011 19:53:33 +0000 (19:53 +0000)]
opusparse: add opusparse element

A very simple element that parses Opus streams from the ad hoc
framing used by the Opus test vectors.

12 years agoopusdec: allow negotiation of rate/channels with downstream
Vincent Penquerc'h [Wed, 16 Nov 2011 17:24:20 +0000 (17:24 +0000)]
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.

12 years agoopusdec: rewrite logic
Vincent Penquerc'h [Wed, 16 Nov 2011 17:05:17 +0000 (17:05 +0000)]
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.

12 years agoopus: port to base audio encoder/decoder
Vincent Penquerc'h [Wed, 16 Nov 2011 16:56:43 +0000 (16:56 +0000)]
opus: port to base audio encoder/decoder

12 years agoopusenc: fix bandwidth property type mismatch
Vincent Penquerc'h [Thu, 10 Nov 2011 17:13:40 +0000 (17:13 +0000)]
opusenc: fix bandwidth property type mismatch

12 years agoopusenc: fix latency query
Vincent Penquerc'h [Wed, 5 Oct 2011 17:25:58 +0000 (18:25 +0100)]
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

12 years agoopusenc: use debug level for debug info, not error
Vincent Penquerc'h [Wed, 5 Oct 2011 14:47:06 +0000 (15:47 +0100)]
opusenc: use debug level for debug info, not error

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

12 years agoopusenc: fix calculation of filler data size
Vincent Penquerc'h [Thu, 29 Sep 2011 13:22:33 +0000 (14:22 +0100)]
opusenc: fix calculation of filler data size

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

13 years agoopusdec: fix decoding
Vincent Penquerc'h [Wed, 28 Sep 2011 13:57:02 +0000 (14:57 +0100)]
opusdec: fix decoding

A simple ... opusenc ! opusdec ... pipeline now works.

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

13 years agoopusenc: moan if we get an unexpected amount of data
Vincent Penquerc'h [Wed, 28 Sep 2011 13:56:18 +0000 (14:56 +0100)]
opusenc: moan if we get an unexpected amount of data

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

13 years agoopus: properly setup caps and init state from caps
Vincent Penquerc'h [Wed, 28 Sep 2011 13:22:02 +0000 (14:22 +0100)]
opus: properly setup caps and init state from caps

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

13 years agoopusenc: use the same frame size setup as the opus test code
Vincent Penquerc'h [Wed, 28 Sep 2011 12:25:21 +0000 (13:25 +0100)]
opusenc: use the same frame size setup as the opus test code

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

13 years agoopusdec: opus supports a select set of sampling rates
Vincent Penquerc'h [Wed, 28 Sep 2011 12:24:52 +0000 (13:24 +0100)]
opusdec: opus supports a select set of sampling rates

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

13 years agoopus: make it build against current, and remove cruft
Vincent Penquerc'h [Wed, 28 Sep 2011 12:24:21 +0000 (13:24 +0100)]
opus: make it build against current, and remove cruft

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

13 years agoopus: duplicate from CELT
David Schleef [Sun, 5 Jun 2011 07:54:19 +0000 (00:54 -0700)]
opus: duplicate from CELT

Copy the celt plugin and convert it to Opus.  Mostly works.

22 years agobuilding up speed
Thomas Vander Stichele [Mon, 17 Dec 2001 18:37:01 +0000 (18:37 +0000)]
building up speed

Original commit message from CVS:
building up speed