platform/upstream/gstreamer.git
12 years agoUse gst_element_class_set_static_metadata()
Tim-Philipp Müller [Wed, 17 Oct 2012 16:34:26 +0000 (17:34 +0100)]
Use gst_element_class_set_static_metadata()

where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.

12 years agoopusenc: Rank as Primary
Olivier Crête [Thu, 20 Sep 2012 22:42:50 +0000 (18:42 -0400)]
opusenc: Rank as Primary

12 years agoreplace gst_element_class_set_details_simple with gst_element_class_set_metadata
Mark Nauwelaerts [Fri, 14 Sep 2012 15:08:49 +0000 (17:08 +0200)]
replace gst_element_class_set_details_simple with gst_element_class_set_metadata

12 years agoopus + jpegformat: unbreak non-debug build
Peter Korsgaard [Wed, 12 Sep 2012 07:10:35 +0000 (09:10 +0200)]
opus + jpegformat: unbreak non-debug build

opus + jpegformat plugin builds fail when gstreamer is configured with
--disable-gst-debug as they are checking the GST_DISABLE_DEBUG symbol
instead of GST_DISABLE_GST_DEBUG.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
https://bugzilla.gnome.org/show_bug.cgi?id=683850

12 years agotest: Flush opus encoder between tests
Olivier Crête [Tue, 11 Sep 2012 22:02:28 +0000 (18:02 -0400)]
test: Flush opus encoder between tests

12 years agotest: Flush opus encoder between tests
Olivier Crête [Tue, 11 Sep 2012 22:01:58 +0000 (18:01 -0400)]
test: Flush opus encoder between tests

12 years agoopusenc: port to the new GLib thread API
Mark Nauwelaerts [Tue, 11 Sep 2012 12:31:49 +0000 (14:31 +0200)]
opusenc: port to the new GLib thread API

12 years agogst_tag_list_free -> gst_tag_list_unref
Tim-Philipp Müller [Sat, 4 Aug 2012 15:31:30 +0000 (16:31 +0100)]
gst_tag_list_free -> gst_tag_list_unref

12 years agoopusenc: add missing mutex unlock on error path
Vincent Penquerc'h [Fri, 15 Jun 2012 09:32:39 +0000 (10:32 +0100)]
opusenc: add missing mutex unlock on error path

12 years agoopus: set author to myself, and update copyright notices
Vincent Penquerc'h [Fri, 15 Jun 2012 09:24:24 +0000 (10:24 +0100)]
opus: set author to myself, and update copyright notices

because as slomo noted, in fact pretty much all the code in there is mine.

12 years agoopusdec: read gain from the right place in the header
Vincent Penquerc'h [Tue, 29 May 2012 16:24:02 +0000 (17:24 +0100)]
opusdec: read gain from the right place in the header

It's at byte offset 16, not 14.

12 years agoopusdec: do not assert on bad header, error out instead
Vincent Penquerc'h [Sun, 27 May 2012 22:41:24 +0000 (23:41 +0100)]
opusdec: do not assert on bad header, error out instead

12 years agoopus: reject major version number above what we grok
Vincent Penquerc'h [Thu, 24 May 2012 21:12:56 +0000 (22:12 +0100)]
opus: reject major version number above what we grok

12 years agoopus: bump written version from 0 to 0x01
Vincent Penquerc'h [Thu, 24 May 2012 20:58:44 +0000 (21:58 +0100)]
opus: bump written version from 0 to 0x01

as per the spec update at https://wiki.xiph.org/OggOpus#ID_Header

12 years agoopusdec: fix lost packet handling for FEC/PLC
Vincent Penquerc'h [Mon, 30 Apr 2012 13:40:02 +0000 (14:40 +0100)]
opusdec: fix lost packet handling for FEC/PLC

The base audio decoder sends zero size packets, not NULL buffers,
to signal dropped packets.

12 years agoopus: Handle GstByteWriter return values
Edward Hervey [Wed, 4 Apr 2012 09:51:28 +0000 (11:51 +0200)]
opus: Handle GstByteWriter return values

12 years agotests: port some more to 1.0
Mark Nauwelaerts [Tue, 10 Apr 2012 15:24:05 +0000 (17:24 +0200)]
tests: port some more to 1.0

12 years agoopusdec: tweak caps negotiation
Mark Nauwelaerts [Tue, 10 Apr 2012 15:22:44 +0000 (17:22 +0200)]
opusdec: tweak caps negotiation

... so as to avoid leaking caps or manipulating NULL caps.

12 years agoMerge remote-tracking branch 'origin/0.10'
Mark Nauwelaerts [Fri, 6 Apr 2012 12:52:12 +0000 (14:52 +0200)]
Merge remote-tracking branch 'origin/0.10'

Conflicts:
gst/h264parse/gsth264parse.c
gst/videoparsers/gsth264parse.c

12 years agoMerge remote-tracking branch 'origin/0.10'
Thibault Saunier [Thu, 5 Apr 2012 21:15:11 +0000 (17:15 -0400)]
Merge remote-tracking branch 'origin/0.10'

12 years agogst: Update for GST_PLUGIN_DEFINE() API changes
Sebastian Dröge [Thu, 5 Apr 2012 16:02:56 +0000 (18:02 +0200)]
gst: Update for GST_PLUGIN_DEFINE() API changes

12 years agogst: Update versioning
Sebastian Dröge [Wed, 4 Apr 2012 12:41:22 +0000 (14:41 +0200)]
gst: Update versioning

12 years agoMerge remote-tracking branch 'origin/0.10'
Sebastian Dröge [Wed, 4 Apr 2012 10:06:08 +0000 (12:06 +0200)]
Merge remote-tracking branch 'origin/0.10'

12 years agoMerge remote-tracking branch 'origin/0.10'
Sebastian Dröge [Mon, 2 Apr 2012 13:31:38 +0000 (15:31 +0200)]
Merge remote-tracking branch 'origin/0.10'

Conflicts:
gst/mpegtsdemux/tsdemux.c

12 years agoopusenc: fixup merge
Mark Nauwelaerts [Fri, 30 Mar 2012 15:09:34 +0000 (17:09 +0200)]
opusenc: fixup merge

12 years agoext: Update for GstAudioEncoder API changes
Sebastian Dröge [Fri, 30 Mar 2012 10:22:48 +0000 (12:22 +0200)]
ext: Update for GstAudioEncoder API changes

12 years agoMerge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-bad
Sebastian Dröge [Thu, 29 Mar 2012 16:04:36 +0000 (18:04 +0200)]
Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-bad

12 years agoMerge remote-tracking branch 'origin/0.10'
Sebastian Dröge [Thu, 29 Mar 2012 15:41:53 +0000 (17:41 +0200)]
Merge remote-tracking branch 'origin/0.10'

Conflicts:
NEWS
RELEASE
common
configure.ac
docs/libs/gst-plugins-bad-libs-sections.txt
docs/plugins/gst-plugins-bad-plugins.args
docs/plugins/gst-plugins-bad-plugins.hierarchy
docs/plugins/gst-plugins-bad-plugins.interfaces
docs/plugins/inspect/plugin-adpcmdec.xml
docs/plugins/inspect/plugin-adpcmenc.xml
docs/plugins/inspect/plugin-assrender.xml
docs/plugins/inspect/plugin-audiovisualizers.xml
docs/plugins/inspect/plugin-autoconvert.xml
docs/plugins/inspect/plugin-bayer.xml
docs/plugins/inspect/plugin-bz2.xml
docs/plugins/inspect/plugin-camerabin2.xml
docs/plugins/inspect/plugin-celt.xml
docs/plugins/inspect/plugin-dataurisrc.xml
docs/plugins/inspect/plugin-debugutilsbad.xml
docs/plugins/inspect/plugin-dtmf.xml
docs/plugins/inspect/plugin-dtsdec.xml
docs/plugins/inspect/plugin-dvbsuboverlay.xml
docs/plugins/inspect/plugin-dvdspu.xml
docs/plugins/inspect/plugin-faac.xml
docs/plugins/inspect/plugin-faad.xml
docs/plugins/inspect/plugin-gsm.xml
docs/plugins/inspect/plugin-h264parse.xml
docs/plugins/inspect/plugin-mms.xml
docs/plugins/inspect/plugin-modplug.xml
docs/plugins/inspect/plugin-mpeg2enc.xml
docs/plugins/inspect/plugin-mpegdemux2.xml
docs/plugins/inspect/plugin-mpegtsdemux.xml
docs/plugins/inspect/plugin-mpegvideoparse.xml
docs/plugins/inspect/plugin-mplex.xml
docs/plugins/inspect/plugin-pcapparse.xml
docs/plugins/inspect/plugin-rawparse.xml
docs/plugins/inspect/plugin-rtpmux.xml
docs/plugins/inspect/plugin-rtpvp8.xml
docs/plugins/inspect/plugin-scaletempo.xml
docs/plugins/inspect/plugin-schro.xml
docs/plugins/inspect/plugin-sdp.xml
docs/plugins/inspect/plugin-segmentclip.xml
docs/plugins/inspect/plugin-shm.xml
docs/plugins/inspect/plugin-videomaxrate.xml
docs/plugins/inspect/plugin-videoparsersbad.xml
docs/plugins/inspect/plugin-vp8.xml
docs/plugins/inspect/plugin-y4mdec.xml
ext/celt/gstceltdec.c
ext/dts/gstdtsdec.c
ext/modplug/gstmodplug.cc
ext/opus/gstopusenc.c
gst-libs/gst/video/gstbasevideocodec.c
gst-libs/gst/video/gstbasevideocodec.h
gst-libs/gst/video/gstbasevideodecoder.c
gst-libs/gst/video/gstbasevideodecoder.h
gst-libs/gst/video/gstbasevideoencoder.c
gst-libs/gst/video/gstbasevideoencoder.h
gst/adpcmdec/Makefile.am
gst/audiovisualizers/gstbaseaudiovisualizer.c
gst/h264parse/gsth264parse.c
gst/mpegdemux/mpegtsparse.c
gst/mpegtsdemux/mpegtsbase.c
gst/mpegtsdemux/mpegtspacketizer.c
gst/mpegtsdemux/mpegtsparse.c
gst/mpegtsdemux/tsdemux.c
gst/mpegtsdemux/tsdemux.h
gst/mxf/mxfdemux.c
gst/rawparse/gstaudioparse.c
gst/videoparsers/gsth263parse.c
gst/videoparsers/gsth264parse.c
sys/d3dvideosink/d3dvideosink.c
sys/decklink/gstdecklinksink.cpp
sys/dvb/gstdvbsrc.c
sys/shm/gstshmsrc.c
sys/vdpau/h264/gstvdph264dec.c
sys/vdpau/mpeg/gstvdpmpegdec.c
tests/examples/opencv/gst_element_print_properties.c
win32/common/config.h

12 years agoopus: Rank rtp pay/depay
Olivier Crête [Tue, 27 Mar 2012 19:13:24 +0000 (15:13 -0400)]
opus: Rank rtp pay/depay

This way they can be auto-plugged.

12 years agoopusdec: fix for caps api change
Wim Taymans [Mon, 12 Mar 2012 16:06:11 +0000 (17:06 +0100)]
opusdec: fix for caps api change

12 years agotests: fix more caps
Wim Taymans [Thu, 8 Mar 2012 10:32:27 +0000 (11:32 +0100)]
tests: fix more caps

12 years agoopus: port to updated 0.11
Mark Nauwelaerts [Wed, 7 Mar 2012 16:14:29 +0000 (17:14 +0100)]
opus: port to updated 0.11

12 years agoopusenc: only request and process 1 frame at a time
Mark Nauwelaerts [Wed, 7 Mar 2012 11:59:28 +0000 (12:59 +0100)]
opusenc: only request and process 1 frame at a time

... since it is specified in _finish_frame that input buffer may be invalidated
after calling it, and is as such not reliably available for further encoding.

Also, requesting or allowing several frames is only useful if subclass intends
to process these "in 1 run" (as in, 1 output buffer), not for having another
(inner) loop in subclass where the baseclass one will do just fine.

12 years agoopusenc: configure baseclass requested samples really in samples
Mark Nauwelaerts [Wed, 7 Mar 2012 11:55:43 +0000 (12:55 +0100)]
opusenc: configure baseclass requested samples really in samples

... as opposed to bytes.

12 years agoaudioencoders: chain up to parent event handler
Wim Taymans [Mon, 27 Feb 2012 12:13:14 +0000 (13:13 +0100)]
audioencoders: chain up to parent event handler

12 years agoMerge branch 'master' into 0.11
Wim Taymans [Tue, 21 Feb 2012 09:06:16 +0000 (10:06 +0100)]
Merge branch 'master' into 0.11

Conflicts:
gst/colorspace/colorspace.c

12 years agoMerge branch 'master' into 0.11
Wim Taymans [Mon, 20 Feb 2012 15:07:50 +0000 (16:07 +0100)]
Merge branch 'master' into 0.11

Conflicts:
ext/opus/gstopusparse.c
gst/colorspace/colorspace.c

12 years agoMerge branch 'master' into 0.11
Wim Taymans [Fri, 17 Feb 2012 08:01:56 +0000 (09:01 +0100)]
Merge branch 'master' into 0.11

12 years agoMerge branch 'master' into 0.11
Wim Taymans [Thu, 16 Feb 2012 13:33:20 +0000 (14:33 +0100)]
Merge branch 'master' into 0.11

Conflicts:
gst/mpegtsdemux/mpegtsbase.c
gst/mpegtsdemux/mpegtspacketizer.c
gst/mpegtsdemux/tsdemux.c
gst/mve/gstmvedemux.c

12 years agoMerge branch 'master' into 0.11
Mark Nauwelaerts [Wed, 15 Feb 2012 16:14:34 +0000 (17:14 +0100)]
Merge branch 'master' into 0.11

12 years agoMerge branch 'master' into 0.11
Wim Taymans [Tue, 14 Feb 2012 10:19:04 +0000 (11:19 +0100)]
Merge branch 'master' into 0.11

12 years agoMerge branch 'master' into 0.11
Wim Taymans [Fri, 10 Feb 2012 15:46:50 +0000 (16:46 +0100)]
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

12 years agobuild: fix CFLAGS order and LIBS order
Tim-Philipp Müller [Fri, 3 Feb 2012 00:50:33 +0000 (00:50 +0000)]
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.

12 years agoplenty: fixup glib deprecations
Vincent Penquerc'h [Fri, 27 Jan 2012 14:49:58 +0000 (14:49 +0000)]
plenty: fixup glib deprecations

12 years agoMerge branch 'master' into 0.11
Sebastian Dröge [Wed, 25 Jan 2012 12:22:43 +0000 (13:22 +0100)]
Merge branch 'master' into 0.11

Conflicts:
configure.ac
ext/kate/gstkateenc.c
gst/colorspace/colorspace.c
gst/mpegvideoparse/mpegvideoparse.c

12 years agoMerge remote-tracking branch 'origin/master' into 0.11
Tim-Philipp Müller [Fri, 13 Jan 2012 00:11:54 +0000 (00:11 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11

12 years agotests: fix buffer leaks in opus tests
Vincent Penquerc'h [Wed, 11 Jan 2012 13:32:36 +0000 (13:32 +0000)]
tests: fix buffer leaks in opus tests

12 years agoMerge branch 'master' into 0.11
Sebastian Dröge [Tue, 10 Jan 2012 14:50:37 +0000 (15:50 +0100)]
Merge branch 'master' into 0.11

Conflicts:
gst/mpegtsdemux/tsdemux.c
gst/videoparsers/gsth264parse.c
tests/check/elements/camerabin2.c

12 years agoopusenc: fix slist leak
Vincent Penquerc'h [Tue, 10 Jan 2012 13:38:50 +0000 (13:38 +0000)]
opusenc: fix slist leak

12 years agoopusenc: fix caps leak
Vincent Penquerc'h [Tue, 10 Jan 2012 13:38:42 +0000 (13:38 +0000)]
opusenc: fix caps leak

12 years agoMerge remote-tracking branch 'origin/master' into 0.11
Edward Hervey [Fri, 30 Dec 2011 10:49:27 +0000 (11:49 +0100)]
Merge remote-tracking branch 'origin/master' into 0.11

Conflicts:
tests/examples/camerabin2/Makefile.am

12 years agoMerge remote-tracking branch 'origin/master' into 0.11-premerge
Edward Hervey [Fri, 30 Dec 2011 10:41:17 +0000 (11:41 +0100)]
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

12 years agoopus: fix bad merge (stray unmap, undeclared var)
Vincent Penquerc'h [Thu, 15 Dec 2011 16:42:20 +0000 (16:42 +0000)]
opus: fix bad merge (stray unmap, undeclared var)

12 years agoopusenc: add upstream negotiation for multistream ability
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

12 years agoAdding opus RTP payloader/depayloader element
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

12 years agoopus: include streams count in caps
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

12 years agoopus: properly create channel mapping tables
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

12 years agoopusdec: header cleanup
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

12 years agoopusdec: Truncate caps first
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

12 years agoopusdec: default to stereo 48000 Hz if possible when no headers seen
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

12 years agoopusdec: guard against decoding 0 samples
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

12 years agoMerge remote-tracking branch 'origin/master' into 0.11
Tim-Philipp Müller [Mon, 28 Nov 2011 23:20:58 +0000 (23:20 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11

12 years agoMerge commit '7521b597f4dc49d8d168f368f0e7ebaf98a72156' into 0.11
Tim-Philipp Müller [Mon, 28 Nov 2011 23:20:32 +0000 (23:20 +0000)]
Merge commit '7521b597f4dc49d8d168f368f0e7ebaf98a72156' into 0.11

12 years agoMerge commit '26d6add9457f00ce8ec13844368466f0e3816e5d' into 0.11
Tim-Philipp Müller [Mon, 28 Nov 2011 23:20:02 +0000 (23:20 +0000)]
Merge commit '26d6add9457f00ce8ec13844368466f0e3816e5d' into 0.11

Conflicts:
ext/rtmp/gstrtmpsink.c

12 years agovarious: fix pad template ref leaks
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

12 years agoMerge remote-tracking branch 'origin/master' into 0.11
Tim-Philipp Müller [Sun, 27 Nov 2011 23:33:45 +0000 (23:33 +0000)]
Merge remote-tracking branch 'origin/master' into 0.11

12 years agoMerge remote-tracking branch 'origin/master' into 0.11
Tim-Philipp Müller [Sat, 26 Nov 2011 15:37:25 +0000 (15:37 +0000)]
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

12 years agoopusenc: Fixing "Unused var" compiling error for opus codec
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

12 years agoopusenc: only use mono streams for > 2 channels
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.

12 years agoopus: add some more debug information about channel mapping
Vincent Penquerc'h [Fri, 25 Nov 2011 12:47:42 +0000 (12:47 +0000)]
opus: add some more debug information about channel mapping

12 years agoopusenc: do not cause the decoder to apply the channel mapping again
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.

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 agoMerge remote-tracking branch 'origin/master' into 0.11
Edward Hervey [Fri, 25 Nov 2011 11:48:58 +0000 (12:48 +0100)]
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

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

13 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.

13 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.

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Wed, 23 Nov 2011 10:08:39 +0000 (11:08 +0100)]
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

13 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

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

13 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.

13 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.

13 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.

13 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

13 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

13 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

13 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

13 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)

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

13 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.

13 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.

13 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

13 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).

13 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

13 years agoMerge branch 'master' into 0.11
Wim Taymans [Thu, 17 Nov 2011 16:32:42 +0000 (17:32 +0100)]
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

13 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.

13 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