summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Vincent Penquerc'h [Tue, 10 Jan 2012 13:38:42 +0000 (13:38 +0000)]
opusenc: fix caps leak
Vincent Penquerc'h [Fri, 9 Dec 2011 17:25:41 +0000 (17:25 +0000)]
opusenc: add upstream negotiation for multistream ability
This will help elements that cannot deal with multistream,
such as the RTP payloader.
The caps now do not include a "streams" field anymore, but
a "multistream" boolean, since we have no real use for knowing
the exact amount of streams.
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Danilo Cesar Lemes de Paula [Wed, 7 Dec 2011 17:13:11 +0000 (15:13 -0200)]
Adding opus RTP payloader/depayloader element
Adding OPUS RTP module based on the current draft:
http://tools.ietf.org/id/draft-spittka-payload-rtp-opus-00.txt
https://bugzilla.gnome.org/show_bug.cgi?id=664817
Vincent Penquerc'h [Thu, 8 Dec 2011 19:47:55 +0000 (19:47 +0000)]
opus: include streams count in caps
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Vincent Penquerc'h [Thu, 8 Dec 2011 18:45:27 +0000 (18:45 +0000)]
opus: properly create channel mapping tables
There are two of them, unintuitively enough; the one passed
to the encoder should not be the one that gets written to the
file. The former maps the input to an ordering which puts
paired channels first, while the latter moves the channels
to Vorbis order. So add code to calculate both, and we now
have properly paired channels where appropriate.
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Olivier Crête [Wed, 7 Dec 2011 05:06:11 +0000 (00:06 -0500)]
opusdec: header cleanup
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Olivier Crête [Wed, 7 Dec 2011 05:06:11 +0000 (00:06 -0500)]
opusdec: Truncate caps first
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Vincent Penquerc'h [Mon, 28 Nov 2011 19:47:34 +0000 (19:47 +0000)]
opusdec: default to stereo 48000 Hz if possible when no headers seen
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Vincent Penquerc'h [Mon, 28 Nov 2011 19:38:34 +0000 (19:38 +0000)]
opusdec: guard against decoding 0 samples
https://bugzilla.gnome.org/show_bug.cgi?id=665078
Vincent Penquerc'h [Mon, 28 Nov 2011 13:08:27 +0000 (13:08 +0000)]
various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
Danilo Cesar Lemes de Paula [Fri, 25 Nov 2011 13:41:19 +0000 (11:41 -0200)]
opusenc: Fixing "Unused var" compiling error for opus codec
https://bugzilla.gnome.org/show_bug.cgi?id=664815
Vincent Penquerc'h [Fri, 25 Nov 2011 14:00:18 +0000 (14:00 +0000)]
opusenc: only use mono streams for > 2 channels
I'm getting odd results with packing streams into stereo
streams, and using only mono streams is enough in all cases.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:47:42 +0000 (12:47 +0000)]
opus: add some more debug information about channel mapping
Vincent Penquerc'h [Fri, 25 Nov 2011 12:40:31 +0000 (12:40 +0000)]
opusenc: do not cause the decoder to apply the channel mapping again
Since we already reorder channels, we do not want to write that
reordering in the header, or the decoder will do it again.
Vincent Penquerc'h [Fri, 25 Nov 2011 12:39:20 +0000 (12:39 +0000)]
opusdec: fix bogus assertion
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
Vincent Penquerc'h [Thu, 24 Nov 2011 13:29:56 +0000 (13:29 +0000)]
opus: multichannel support
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.
Vincent Penquerc'h [Wed, 23 Nov 2011 17:32:03 +0000 (17:32 +0000)]
opusdec: shuffle supported sample rates to favor 48000
Vincent Penquerc'h [Wed, 23 Nov 2011 16:36:54 +0000 (16:36 +0000)]
opusenc: remove useless setup field
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.
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.
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
Vincent Penquerc'h [Tue, 22 Nov 2011 18:33:17 +0000 (18:33 +0000)]
opus: add test
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.
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.
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.
Vincent Penquerc'h [Mon, 21 Nov 2011 17:48:54 +0000 (17:48 +0000)]
opus: move header magic testing to gstopusheader
Vincent Penquerc'h [Mon, 21 Nov 2011 17:01:49 +0000 (17:01 +0000)]
opusdec: skip pre-skip samples
Vincent Penquerc'h [Mon, 21 Nov 2011 12:50:22 +0000 (12:50 +0000)]
opusdec: read pre-skip from first header if available
Vincent Penquerc'h [Mon, 21 Nov 2011 12:02:28 +0000 (12:02 +0000)]
opusenc: reset tagsetter interface on stop
Vincent Penquerc'h [Mon, 21 Nov 2011 11:44:01 +0000 (11:44 +0000)]
opusdec: handle NULL packets (used for PLC)
Vincent Penquerc'h [Mon, 21 Nov 2011 11:28:10 +0000 (11:28 +0000)]
opusdec: light cleanup
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.
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.
Vincent Penquerc'h [Sat, 19 Nov 2011 15:58:09 +0000 (15:58 +0000)]
opusenc: fix terminating NUL being written in signature
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).
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
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.
Vincent Penquerc'h [Wed, 16 Nov 2011 18:43:53 +0000 (18:43 +0000)]
opusenc: fix constrained-vbr property name typo
Vincent Penquerc'h [Wed, 16 Nov 2011 18:35:29 +0000 (18:35 +0000)]
opusdec: let the base class handle all timing
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.
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.
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.
Vincent Penquerc'h [Wed, 16 Nov 2011 16:56:43 +0000 (16:56 +0000)]
opus: port to base audio encoder/decoder
Vincent Penquerc'h [Thu, 10 Nov 2011 17:13:40 +0000 (17:13 +0000)]
opusenc: fix bandwidth property type mismatch
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
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
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
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
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
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
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
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
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
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.
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