Vincent Penquerc'h
3498912d7b
opus: fix bad merge (stray unmap, undeclared var)
2011-12-15 16:42:20 +00:00
Tim-Philipp Müller
77361e2919
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/opus/gstopusdec.c
ext/opus/gstopusparse.c
gst-libs/gst/video/gstbasevideodecoder.c
gst-libs/gst/video/gstbasevideodecoder.h
2011-11-26 15:37:25 +00:00
Danilo Cesar Lemes de Paula
43190ea0f8
opusenc: Fixing "Unused var" compiling error for opus codec
...
https://bugzilla.gnome.org/show_bug.cgi?id=664815
2011-11-25 15:32:12 +00:00
Vincent Penquerc'h
631f42eee8
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.
2011-11-25 15:31:59 +00:00
Vincent Penquerc'h
65079e3ada
opus: add some more debug information about channel mapping
2011-11-25 15:31:59 +00:00
Vincent Penquerc'h
2e0e118676
opusparse: remove dead assigments
...
We now only keep a ref to the headers for later reuse.
2011-11-25 15:31:59 +00:00
Vincent Penquerc'h
f78c83a0b6
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.
2011-11-25 15:31:59 +00:00
Vincent Penquerc'h
5f85454020
opusdec: fix bogus assertion
2011-11-25 15:31:59 +00:00
Edward Hervey
b78b980d72
Merge remote-tracking branch 'origin/master' into 0.11
...
Conflicts:
ext/faac/gstfaac.c
ext/opus/gstopusdec.c
ext/opus/gstopusenc.c
gst/audiovisualizers/gstspacescope.c
gst/colorspace/colorspace.c
2011-11-25 12:48:58 +01:00
Vincent Penquerc'h
78337fc198
opus: pre-skip and output gain are little endian, remove reminder note
2011-11-24 13:40:34 +00:00
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
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
Wim Taymans
0a9387c43c
Merge branch 'master' into 0.11
...
Conflicts:
ext/opus/gstopusdec.c
ext/opus/gstopusenc.c
ext/opus/gstopusparse.c
gst/audiovisualizers/gstwavescope.c
gst/filter/Makefile.am
gst/filter/gstfilter.c
gst/filter/gstiir.c
gst/playondemand/gstplayondemand.c
2011-11-23 11:08:39 +01: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
Wim Taymans
bc6ed0bf97
Merge branch 'master' into 0.11
...
Conflicts:
ext/celt/gstceltdec.c
ext/opus/gstopusdec.c
ext/opus/gstopusdec.h
ext/opus/gstopusenc.c
ext/opus/gstopusenc.h
ext/opus/gstopusparse.c
2011-11-17 17:32:42 +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
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
Vincent Penquerc'h
3c993f1c4a
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 13:43:36 +00:00
Vincent Penquerc'h
70ca2a6851
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 13:43:36 +00:00
Vincent Penquerc'h
9e79a8ed01
opusdec: remove buffer pool, buffers are not constant size
2011-11-16 13:43:36 +00:00
Vincent Penquerc'h
a8e4d9bd3e
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 13:43:36 +00:00
Vincent Penquerc'h
c5c67c1913
opusenc: fix pointer mismatch in memcpy on drain
2011-11-15 17:50:39 +00:00
Vincent Penquerc'h
ac9c7bbfef
opus: port to encoder/decoder base classes
2011-11-14 13:50:23 +00:00
Vincent Penquerc'h
7b80e0773f
opus: port to 0.11
2011-11-11 17:46:41 +00:00
Vincent Penquerc'h
609ae9b812
opusenc: fix bandwidth property type mismatch
2011-11-10 17:14:10 +00:00