platform/upstream/gst-plugins-base.git
8 years agoopus: fix FEC
Vincent Penquerc'h [Wed, 3 Feb 2016 16:28:42 +0000 (16:28 +0000)]
opus: fix FEC

FEC may only be used when PLC is enabled on the audio decoder,
as it relies on empty buffers to generate audio from the next
buffer. Hooking to the gap events doesn't work as the audio
decoder does not like more buffers output than it sends.

The length of data to generate using FEC from the next packet
is determined by rounding the gap duration to nearest. This
ensures that duration imprecision does not cause quantization
to 2.5 milliseconds less than available. Doing so causes the
Opus API to fail decoding. Such duration imprecision is common
in live cases.

The buffer to consider when determining the length of audio
to be decoded is the previous buffer when using FEC, and the
new buffer otherwise. In the FEC case, this means we determine
the amount of audio from the previous buffer, whether it was
missing or not (and get the data either from this buffer, or
the current one if the previous one was missing).

8 years agoopusdec: fix wrong buffer being checked for missing data
Vincent Penquerc'h [Tue, 2 Feb 2016 15:20:48 +0000 (15:20 +0000)]
opusdec: fix wrong buffer being checked for missing data

This caused a decoding error if the resulting (wrong) buffer size
was passed to the Opus decoding API.

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

8 years agoplugins-bad: Fix example pipelines
Vineeth TM [Mon, 14 Dec 2015 02:09:46 +0000 (11:09 +0900)]
plugins-bad: Fix example pipelines

rename gst-launch --> gst-launch-1.0
replace old elements with new elements(ffmpegcolorspace -> videoconvert, ffenc_** -> avenc_**)
fix caps in examples

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

8 years agoRemove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Tue, 17 Nov 2015 23:23:17 +0000 (15:23 -0800)]
Remove unnecessary NULL checks before g_free()

g_free() is NULL-safe

8 years agoopusenc: avoid potential overflow expression
Luis de Bethencourt [Thu, 12 Nov 2015 12:21:54 +0000 (12:21 +0000)]
opusenc: avoid potential overflow expression

The result of the two expressions will be promoted to guint64 anyway,
perform all the arithmetic in 64 bits to avoid potential overflows.

CID 1338690, CID 1338691

8 years agoopusdec: Update sink pad templates
Sebastian Dröge [Thu, 5 Nov 2015 11:11:19 +0000 (12:11 +0100)]
opusdec: Update sink pad templates

We always require the channel-mapping-field. If it's 0 we require nothing
else, otherwise we need channels, stream-count and coupled count to be
available.

8 years agoopus: Remove invalid unit test
Sebastian Dröge [Tue, 3 Nov 2015 22:12:52 +0000 (00:12 +0200)]
opus: Remove invalid unit test

Opus headers should never be in-band, so don't test for correct
handling of that.

8 years agoopusenc: Create an empty taglist if there is none
Sebastian Dröge [Tue, 3 Nov 2015 22:12:22 +0000 (00:12 +0200)]
opusenc: Create an empty taglist if there is none

There always have to be 2 buffers in the streamheaders, even if
the comment buffer is basically empty.

8 years agoopus: Add proper support for multichannel audio
Sebastian Dröge [Tue, 3 Nov 2015 12:50:53 +0000 (14:50 +0200)]
opus: Add proper support for multichannel audio

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

8 years agoopusdec: Handle GstAudioClippingMeta instead of the pre-skip field in the OpusHead
Sebastian Dröge [Mon, 2 Nov 2015 15:33:53 +0000 (17:33 +0200)]
opusdec: Handle GstAudioClippingMeta instead of the pre-skip field in the OpusHead

oggdemux is outputting the meta now, and only outputs if it should really
apply to the current buffer. Previously we would skip N samples also if we
started the decoder in the middle of the stream.

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

8 years agoopusenc: Add GstAudioClippingMeta to buffers that need to be clipped
Sebastian Dröge [Mon, 2 Nov 2015 14:52:28 +0000 (16:52 +0200)]
opusenc: Add GstAudioClippingMeta to buffers that need to be clipped

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

8 years agoopusenc: Disable granule position calculations by the base class
Sebastian Dröge [Mon, 2 Nov 2015 08:30:52 +0000 (10:30 +0200)]
opusenc: Disable granule position calculations by the base class

It is doing the wrong thing because of the Opus pre-skip: while the timestamps
are shifted by the pre-skip, the granule positions are not shifted.

oggmux is doing the right thing here already.

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

8 years agoopusenc: Add some FIXME comments about calculating padding with LPC
Sebastian Dröge [Sat, 31 Oct 2015 13:02:50 +0000 (15:02 +0200)]
opusenc: Add some FIXME comments about calculating padding with LPC

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

8 years agoopusenc: Encode exactly the amount of samples we got as input and put correct timesta...
Sebastian Dröge [Fri, 30 Oct 2015 18:57:37 +0000 (20:57 +0200)]
opusenc: Encode exactly the amount of samples we got as input and put correct timestamps on it

The first frame has lookahead less samples, the last frame might have some
padding or we might have to encode another frame of silence to get all our
input into the encoded data.

This is because of a) the lookahead at the beginning of the encoding, which
shifts all data by that amount of samples and b) the padding needed to fill
the very last frame completely.

Ideally we would use LPC to calculate something better than silence for the
padding to make the encoding as smooth as possible.

With this we get exactly the same amount of samples again in an
opusenc ! opusdec pipeline.

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

8 years agoopusenc: Put lookahead/pre-skip into the OpusHead header
Sebastian Dröge [Fri, 30 Oct 2015 18:47:20 +0000 (20:47 +0200)]
opusenc: Put lookahead/pre-skip into the OpusHead header

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

8 years agoopusdec: Assume 48kHz if no sample rate is given in the header
Sebastian Dröge [Sun, 1 Nov 2015 21:34:32 +0000 (23:34 +0200)]
opusdec: Assume 48kHz if no sample rate is given in the header

8 years agoopusenc: Place 48kHz first in the caps
Sebastian Dröge [Fri, 30 Oct 2015 18:59:41 +0000 (20:59 +0200)]
opusenc: Place 48kHz first in the caps

For all the other sample rates the encoder will have to resample internally.

8 years agoopusdec: remove check for number of channels
Thiago Santos [Tue, 15 Sep 2015 18:39:11 +0000 (15:39 -0300)]
opusdec: remove check for number of channels

opus decoder can convert from different number of channels, no
need to check, just let it negotiate and create a new decoder if
needed.

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

8 years agoopusenc: improve deprecated properties docs
Miguel París Díaz [Fri, 11 Sep 2015 09:22:35 +0000 (11:22 +0200)]
opusenc: improve deprecated properties docs

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

8 years agoopusenc: do not throw g_warning when getting deprecated properties
Miguel París Díaz [Fri, 11 Sep 2015 09:11:09 +0000 (11:11 +0200)]
opusenc: do not throw g_warning when getting deprecated properties

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

8 years agoaudioencoders: use template subset check for accept-caps
Thiago Santos [Sun, 16 Aug 2015 10:18:34 +0000 (07:18 -0300)]
audioencoders: use template subset check for accept-caps

It is faster than doing a query that propagates downstream and
should be enough

Elements: faac, gsmenc, opusenc, sbcenc, voamrwbenc, adpcmenc, sirenenc

8 years agoaudiodecoders: use default pad accept-caps handling
Thiago Santos [Sat, 15 Aug 2015 15:58:40 +0000 (12:58 -0300)]
audiodecoders: use default pad accept-caps handling

Avoids useless check of downstream caps when handling an
accept-caps query

Elements: dtsdec, faad, gsmdec, mpg123audiodec, opusdec,
          sbcdec, adpcmdec, sirendec

9 years agoopuscommon: Use GString instead of snprintf for concating
Nirbheek Chauhan [Mon, 27 Jul 2015 13:09:13 +0000 (18:39 +0530)]
opuscommon: Use GString instead of snprintf for concating

Safer, easier to understand, and more portable. Also, skip
all this if the log level is too low.

9 years agoopusdec: Fix PLC frame size calculations
Carlos Rafael Giani [Mon, 20 Apr 2015 13:04:56 +0000 (15:04 +0200)]
opusdec: Fix PLC frame size calculations

Previously, PLC frames always had a length of 120ms, which caused audio
quality degradation and synchronization errors. Fix this by calculating an
appropriate length for the PLC frame.

The length must be a multiple of 2.5ms. Calculate a multiple of 2.5ms that
is nearest to the current PLC length. Any leftover PLC length that didn't
make it into this frame is accumulated for the next PLC frame.

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

9 years agoopusenc: Add bitrate to the tags
Mersad Jelacic [Mon, 15 Jun 2015 11:43:53 +0000 (13:43 +0200)]
opusenc: Add bitrate to the tags

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

9 years agoopusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz
Sebastian Dröge [Thu, 4 Jun 2015 09:54:24 +0000 (11:54 +0200)]
opusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz

9 years agoopusdec: gst_structure_fixate_field_nearest_int() only works if the structure has...
Sebastian Dröge [Thu, 4 Jun 2015 09:45:05 +0000 (11:45 +0200)]
opusdec: gst_structure_fixate_field_nearest_int() only works if the structure has this field

Just set the rate/channels directly if the caps don't have this field.

9 years agocheck: Use GST_CHECK_MAIN () macro everywhere
Edward Hervey [Tue, 2 Jun 2015 14:02:37 +0000 (16:02 +0200)]
check: Use GST_CHECK_MAIN () macro everywhere

Makes source code smaller, and ensures we go through common initialization
path (like the one that sets up XML unit test output ...)

9 years agoopusheader: Do not include rate in caps if it is 0
Jose Antonio Santos Cadenas [Mon, 4 May 2015 08:35:55 +0000 (10:35 +0200)]
opusheader: Do not include rate in caps if it is 0

As expressed in gst_opus_header_create_caps, value 0 means unset.
Setting rate value to 0 make negotiation with decoder fail.

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

9 years agoopus: fix includes and compilation against opus in non-standard prefix
Tim-Philipp Müller [Tue, 28 Apr 2015 16:24:04 +0000 (17:24 +0100)]
opus: fix includes and compilation against opus in non-standard prefix

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

9 years agoopus: don't use deprecated gst_buffer_new_and_alloc
Mersad Jelacic [Tue, 28 Apr 2015 14:58:21 +0000 (16:58 +0200)]
opus: don't use deprecated gst_buffer_new_and_alloc

Use the helper function available in the base class instead.

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

9 years agoopus: Fix incorrect fall-through condition in property getter
Arun Raghavan [Fri, 3 Apr 2015 06:16:12 +0000 (11:46 +0530)]
opus: Fix incorrect fall-through condition in property getter

9 years agoopusenc: fall through switch statement
Luis de Bethencourt [Tue, 24 Mar 2015 15:13:52 +0000 (15:13 +0000)]
opusenc: fall through switch statement

Adding a comment makes coverity happy and quells the issue.

CID 1291629

9 years agoopusenc: Set output format immediately after creating the encoder instance
Sebastian Dröge [Mon, 23 Mar 2015 12:15:30 +0000 (13:15 +0100)]
opusenc: Set output format immediately after creating the encoder instance

We know the caps by then, there's no need to wait until we actually receive
the first buffer.

9 years agoopusenc: Remove another unused variable
Sebastian Dröge [Mon, 23 Mar 2015 12:13:35 +0000 (13:13 +0100)]
opusenc: Remove another unused variable

9 years agoopusenc: Remove useless headers and header_sent variables from the instance struct
Sebastian Dröge [Mon, 23 Mar 2015 12:11:42 +0000 (13:11 +0100)]
opusenc: Remove useless headers and header_sent variables from the instance struct

They are only used inside a single function.

9 years agoopusdec: Take channels and sample rate from the caps if we have no stream header
Sebastian Dröge [Mon, 23 Mar 2015 11:09:25 +0000 (12:09 +0100)]
opusdec: Take channels and sample rate from the caps if we have no stream header

9 years agoopusdec: Reset the decoder if the caps change
Sebastian Dröge [Mon, 23 Mar 2015 11:07:52 +0000 (12:07 +0100)]
opusdec: Reset the decoder if the caps change

9 years agoopusdec: Take output sample rate from the stream headers too
Sebastian Dröge [Mon, 23 Mar 2015 10:57:09 +0000 (11:57 +0100)]
opusdec: Take output sample rate from the stream headers too

This way we let opusdec do the resampling if needed and don't carry
around buffers with a too high sample rate if not required.

While Opus always uses 48kHz internally, this information from the
header specifies which frequencies are safe to drop.

9 years agoopusheader: Put number of channels and sample rate into the caps
Sebastian Dröge [Mon, 23 Mar 2015 10:56:09 +0000 (11:56 +0100)]
opusheader: Put number of channels and sample rate into the caps

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

9 years agoopusenc: replace cbr and constrained-vbr properties with an enum
Vincent Penquerc'h [Thu, 12 Mar 2015 12:49:40 +0000 (12:49 +0000)]
opusenc: replace cbr and constrained-vbr properties with an enum

It was deemed confusing before.

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

9 years agoopusdec: fix latency query in FEC case
Vincent Penquerc'h [Wed, 4 Mar 2015 09:24:27 +0000 (09:24 +0000)]
opusdec: fix latency query in FEC case

The max latency parameter is "the maximum time an element
synchronizing to the clock is allowed to wait for receiving all
data for the current running time" (docs/design/part-latency.txt).

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

9 years agoopusenc: Remove g_warnings() for the deprecated audio property
Sebastian Dröge [Wed, 18 Feb 2015 15:41:25 +0000 (17:41 +0200)]
opusenc: Remove g_warnings() for the deprecated audio property

Otherwise there are g_warnings() already when just using gst-inspect or
dumping a pipeline graph.

9 years agoImprove and fix LATENCY query handling
Sebastian Dröge [Wed, 11 Feb 2015 13:16:21 +0000 (14:16 +0100)]
Improve and fix LATENCY query handling

This now follows the design docs everywhere, especially the maximum latency
handling.

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

9 years agoopusenc: change audio property to audio-type
Vincent Penquerc'h [Wed, 28 Jan 2015 16:43:59 +0000 (16:43 +0000)]
opusenc: change audio property to audio-type

This is now an enum with values generic (default) and voice.

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

9 years agoopusenc: plug ref leak of template caps
Thiago Santos [Thu, 18 Dec 2014 00:52:13 +0000 (21:52 -0300)]
opusenc: plug ref leak of template caps

the pad template caps is already a new ref. No need to copy.

9 years agoopusenc: update output segment stop time to match clipped samples
Vincent Penquerc'h [Tue, 10 Jun 2014 08:33:40 +0000 (09:33 +0100)]
opusenc: update output segment stop time to match clipped samples

This will let oggmux generate a granpos on the last page that properly
represents the clipped samples at the end of the stream.

9 years agoFix up one-element lists in template caps
Tim-Philipp Müller [Wed, 10 Sep 2014 16:24:39 +0000 (17:24 +0100)]
Fix up one-element lists in template caps

9 years agoopusenc: Unref pad template caps after usage
Sebastian Rasmussen [Fri, 8 Aug 2014 12:08:19 +0000 (14:08 +0200)]
opusenc: Unref pad template caps after usage

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

9 years agoopus: Improve annotation of internal function
Sebastian Rasmussen [Sat, 9 Aug 2014 12:24:59 +0000 (14:24 +0200)]
opus: Improve annotation of internal function

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

10 years agoopus: Fix a double-unref in the Opus header code
Philip Withnall [Thu, 10 Jul 2014 14:52:46 +0000 (15:52 +0100)]
opus: Fix a double-unref in the Opus header code

The headers were never getting reffed when being added to the headers
list, which is later unreffed-and-freed by the caller (e.g.
gst_opus_parse_parse_frame()).

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

10 years agoopusenc: Use aux vars to minimize critical region
Miguel París Díaz [Sat, 10 May 2014 16:32:28 +0000 (18:32 +0200)]
opusenc: Use aux vars to minimize critical region

This avoid dead lock between gst_audio_encoder_finish_frame() and
gst_opus_enc_get_property().
Also, now bytes var is set into protected section.

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

10 years agoopus: add missing va_end in variadic function
Vincent Penquerc'h [Wed, 9 Apr 2014 10:02:00 +0000 (11:02 +0100)]
opus: add missing va_end in variadic function

Coverity 1139944

10 years agoopus: Remove unused variable from unit test
Sebastian Dröge [Sat, 8 Feb 2014 19:08:29 +0000 (20:08 +0100)]
opus: Remove unused variable from unit test

10 years agoopusenc: increase max payload size to 4000 bytes
Vincent Penquerc'h [Fri, 27 Dec 2013 14:29:46 +0000 (14:29 +0000)]
opusenc: increase max payload size to 4000 bytes

1275 is the maximum size of a frame, but the encoder may return
up to 3 frames, and we need a few extra bytes for TOC, etc. We
use 4000, which is a bit more, and suggested in the libopus docs.

10 years agoopusdec: Require caps to be set before any data processing
Sebastian Dröge [Thu, 5 Dec 2013 11:04:59 +0000 (12:04 +0100)]
opusdec: Require caps to be set before any data processing

11 years agoopus: Fix event handling in unit test
Sebastian Dröge [Wed, 15 May 2013 08:18:01 +0000 (10:18 +0200)]
opus: Fix event handling in unit test

11 years agogst: Add better support for static plugins
Sebastian Dröge [Wed, 24 Oct 2012 10:16:39 +0000 (12:16 +0200)]
gst: Add better support for static plugins

11 years agoMerge SBC decoder and encoder from bluez
Tim-Philipp Müller [Wed, 27 Mar 2013 22:24:03 +0000 (22:24 +0000)]
Merge SBC decoder and encoder from bluez

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

11 years agosbc: Add SBC encoder and decoder skeletons for GStreamer
Marcel Holtmann [Thu, 23 Aug 2007 19:12:23 +0000 (19:12 +0000)]
sbc: Add SBC encoder and decoder skeletons for GStreamer

11 years agoopusdec: clear the state of the decoder
Wim Taymans [Mon, 11 Feb 2013 10:06:32 +0000 (11:06 +0100)]
opusdec: clear the state of the decoder

Set the channels and rate back to their default values in _stop because they
are used to renegotiate when needed.

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

11 years agoopusenc: fix crash when setting "cbr" property when encoder is not running yet
Tim-Philipp Müller [Mon, 28 Jan 2013 14:12:56 +0000 (14:12 +0000)]
opusenc: fix crash when setting "cbr" property when encoder is not running yet

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

11 years agoopus: use appropriate printf format for gsize
Thijs Vermeir [Tue, 18 Dec 2012 15:56:28 +0000 (16:56 +0100)]
opus: use appropriate printf format for gsize

11 years agoFix FSF address
Tim-Philipp Müller [Sat, 3 Nov 2012 20:38:00 +0000 (20:38 +0000)]
Fix FSF address

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

11 years agoopusdec: fixed buffer unmapping bug
Carlos Rafael Giani [Wed, 24 Oct 2012 21:40:20 +0000 (23:40 +0200)]
opusdec: fixed buffer unmapping bug

When the decoder received a NULL buffer, it tried to
unmap a not mapped buffer.

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

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

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

11 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

11 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

11 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

11 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

11 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

11 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