Commit graph

83 commits

Author SHA1 Message Date
Mark Nauwelaerts
8b39a2eb0c opus: port to updated 0.11 2012-03-07 17:18:48 +01:00
Wim Taymans
3cf47f7a98 audioencoders: chain up to parent event handler 2012-02-27 13:13:14 +01:00
Wim Taymans
a9f5def9d1 Merge branch 'master' into 0.11
Conflicts:
	ext/opus/gstopusparse.c
	gst/colorspace/colorspace.c
2012-02-20 16:07:50 +01:00
David Schleef
c26575e4f0 printf format fixes 2012-02-19 12:57:39 -08:00
Wim Taymans
1119f6ee41 Merge branch 'master' into 0.11
Conflicts:
	ext/chromaprint/gstchromaprint.c
	ext/mpeg2enc/Makefile.am
	ext/voaacenc/gstvoaacenc.c
	gst/dvbsuboverlay/gstdvbsuboverlay.c
	gst/mpegtsdemux/mpegtsbase.c
	gst/sdp/gstsdpdemux.c
	gst/videoparsers/gsth264parse.c
	sys/d3dvideosink/d3dvideosink.c
	tests/examples/camerabin/gst-camera-perf.c
	tests/examples/camerabin/gst-camerabin-test.c
	tests/examples/camerabin2/gst-camerabin2-test.c
	tests/examples/mxf/mxfdemux-structure.c
	tests/examples/scaletempo/demo-main.c
2012-02-10 16:46:50 +01:00
Tim-Philipp Müller
f8f4620451 build: fix CFLAGS order and LIBS order
_BAD_CFLAGS should always come first, then GST_PLUGINS_BASE_CFLAGS,
then GST_BASE_CFLAGS then GST_CFLAGS. Same for libs: first plugins
base libs, then GST_BASE_LIB then GST_LIBS.
2012-02-03 00:50:33 +00:00
Vincent Penquerc'h
8147669971 plenty: fixup glib deprecations 2012-01-27 15:47:07 +00:00
Tim-Philipp Müller
699677ed8a Merge remote-tracking branch 'origin/master' into 0.11 2012-01-13 00:11:54 +00:00
Vincent Penquerc'h
1678bcbeec opusparse: fix caps leak 2012-01-11 16:34:35 +00:00
Vincent Penquerc'h
98d6c005b8 opusparse: fix slist leak 2012-01-11 16:32:31 +00:00
Sebastian Dröge
a01a4ea2d3 Merge branch 'master' into 0.11
Conflicts:
	gst/mpegtsdemux/tsdemux.c
	gst/videoparsers/gsth264parse.c
	tests/check/elements/camerabin2.c
2012-01-10 15:50:37 +01:00
Vincent Penquerc'h
1f543ec0ad opusenc: fix slist leak 2012-01-10 13:38:50 +00:00
Vincent Penquerc'h
9d675bfa8d opusenc: fix caps leak 2012-01-10 13:38:42 +00:00
Edward Hervey
f70a623418 Merge remote-tracking branch 'origin/master' into 0.11-premerge
Conflicts:
	docs/libs/Makefile.am
	ext/kate/gstkatetiger.c
	ext/opus/gstopusdec.c
	ext/xvid/gstxvidenc.c
	gst-libs/gst/basecamerabinsrc/Makefile.am
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	gst-libs/gst/video/gstbasevideocodec.c
	gst-libs/gst/video/gstbasevideocodec.h
	gst-libs/gst/video/gstbasevideodecoder.c
	gst-libs/gst/video/gstbasevideoencoder.c
	gst/asfmux/gstasfmux.c
	gst/audiovisualizers/gstwavescope.c
	gst/camerabin2/gstcamerabin2.c
	gst/debugutils/gstcompare.c
	gst/frei0r/gstfrei0rmixer.c
	gst/mpegpsmux/mpegpsmux.c
	gst/mpegtsmux/mpegtsmux.c
	gst/mxf/mxfmux.c
	gst/videomeasure/gstvideomeasure_ssim.c
	gst/videoparsers/gsth264parse.c
	gst/videoparsers/gstmpeg4videoparse.c
2011-12-30 11:41:17 +01:00
Vincent Penquerc'h
3498912d7b opus: fix bad merge (stray unmap, undeclared var) 2011-12-15 16:42:20 +00:00
Vincent Penquerc'h
f40ccb3811 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
2011-12-10 10:39:11 +00:00
Danilo Cesar Lemes de Paula
d5bf38d8bf 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
2011-12-09 15:05:42 +00:00
Vincent Penquerc'h
554c64ae95 opus: include streams count in caps
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-09 15:04:20 +00:00
Vincent Penquerc'h
b48b3c2c86 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
2011-12-09 15:04:20 +00:00
Olivier Crête
bab4c11b4c opusdec: header cleanup
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-07 14:03:02 +00:00
Olivier Crête
094a02671e opusdec: Truncate caps first
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-07 14:03:00 +00:00
Vincent Penquerc'h
9a7af231c7 opusdec: default to stereo 48000 Hz if possible when no headers seen
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-07 13:57:38 +00:00
Vincent Penquerc'h
5b2c4c6c13 opusdec: guard against decoding 0 samples
https://bugzilla.gnome.org/show_bug.cgi?id=665078
2011-12-02 15:19:52 +00:00
Vincent Penquerc'h
7521b597f4 various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:08:27 +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