platform/upstream/gstreamer.git
8 years agoaudiobasesink: Post latency message on the bus after set_caps()
Michael Olbrich [Fri, 25 Sep 2015 12:47:48 +0000 (14:47 +0200)]
audiobasesink: Post latency message on the bus after set_caps()

Any latency query before this will not get the correct latency so a new
latency query should be triggered once the audio sink know its own latency.

Without this the initial latency query from the pipeline arrives too early
sometimes and the resulting latency is too short.

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

8 years ago[PATCH] Fix a race condition accessing the decode_chain field.
Thomas Bluemel [Fri, 6 Nov 2015 14:21:14 +0000 (14:21 +0000)]
[PATCH] Fix a race condition accessing the decode_chain field.

Make sure that any access to the GstDecodeBin's decode_chain
field is protected using the EXPOSE_LOCK.  Also add a simple
reference counter to the GstDecodeChain structure so that when
the type_found signal fires it can hold onto the decode chain
even while the EXPOSE_LOCK is not held.  This should fix a
race condition if the type_found signal fires right in the
middle of a state change that messes with the same decode
chain.

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

8 years agodecodebin: early out on pad-added when the pad is inactive
Vincent Penquerc'h [Thu, 20 Aug 2015 16:30:38 +0000 (17:30 +0100)]
decodebin: early out on pad-added when the pad is inactive

The pad may be recently deactivated if the element is switched
back down very quickly.

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

8 years agodecodebin: lock the expose lock around decode_chain use
Vincent Penquerc'h [Thu, 20 Aug 2015 16:29:36 +0000 (17:29 +0100)]
decodebin: lock the expose lock around decode_chain use

Helps with a crash in decodebin when quickly switching states.

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

8 years agocodec-utils: accept wrong version field in OpusHead header
Luis de Bethencourt [Sat, 28 Nov 2015 14:24:55 +0000 (14:24 +0000)]
codec-utils: accept wrong version field in OpusHead header

Some Opus files found on the wild have 0 in the version field of the
OpusHead header, instead of the correct value of 1. The files still
play, don't make this error fatal.

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

8 years agoallocators: add debug category for fd memory and allocator
William Manley [Thu, 26 Nov 2015 11:33:02 +0000 (11:33 +0000)]
allocators: add debug category for fd memory and allocator

Debugging can now be viewed by setting GST_DEBUG=fdmemory:9

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

8 years agotests: tags: add unit test for ID3v2 PRIVATE_DATA tag extraction
Tim-Philipp Müller [Fri, 20 Nov 2015 20:18:34 +0000 (20:18 +0000)]
tests: tags: add unit test for ID3v2 PRIVATE_DATA tag extraction

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

8 years agoid3v2frames: Handle private frames
Ravi Kiran K N [Mon, 29 Sep 2014 08:47:39 +0000 (14:17 +0530)]
id3v2frames: Handle private frames

Handle PRIV ID3 tag having owner information (string)
and binary data, add to tag messages list.

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

8 years agotags: id3: make sure to register private-id3v2-frame tag before using it
Tim-Philipp Müller [Fri, 20 Nov 2015 19:15:22 +0000 (19:15 +0000)]
tags: id3: make sure to register private-id3v2-frame tag before using it

8 years agortspconnection: Add support for parsing custom headers
Ognyan Tonchev [Tue, 17 Nov 2015 16:07:37 +0000 (17:07 +0100)]
rtspconnection: Add support for parsing custom headers

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

8 years agoRemove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Sun, 15 Nov 2015 10:58:54 +0000 (02:58 -0800)]
Remove unnecessary NULL checks before g_free()

g_free() is NULL-safe

8 years agoxvimagesink/ximagesink: Fix structure memory leak
Vineeth TM [Tue, 17 Nov 2015 00:06:34 +0000 (09:06 +0900)]
xvimagesink/ximagesink: Fix structure memory leak

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

8 years agocodec-utils: guint8 can't hold value over 255
Luis de Bethencourt [Thu, 12 Nov 2015 14:39:17 +0000 (14:39 +0000)]
codec-utils: guint8 can't hold value over 255

channels is a guint8, so the max value is 255 and checking if it value is
> 256 will never be false.

CID 1338687, CID 1338688

8 years agoaudio-converter: remove unneeded check for unsigned < 0
Luis de Bethencourt [Thu, 12 Nov 2015 14:18:03 +0000 (14:18 +0000)]
audio-converter: remove unneeded check for unsigned < 0

Commit ff6d1a2a25b247688f38e117782a6b43d525706a changed sample's type from
gint to gsize (and renamed it to in_samples). gsize is an unsigned long,
which means it can never be a negative value and the check making sure that
in_samples is >= 0 is never going to be false. Removing it.

CID 1338689

8 years agotests:video: Fix overlay rectangle and buffer leak
Vineeth TM [Wed, 11 Nov 2015 05:44:55 +0000 (14:44 +0900)]
tests:video: Fix overlay rectangle and buffer leak

Created overlay rectangle is not being freed in video tests
pix2 buffer is being created and not freed

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

8 years agopbutils:encoding-target: Fix string memory leak
Vineeth TM [Wed, 11 Nov 2015 05:37:21 +0000 (14:37 +0900)]
pbutils:encoding-target: Fix string memory leak

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

8 years agoaudio-quantize: Fix dither_buffer memory leak
Vineeth TM [Wed, 11 Nov 2015 06:02:39 +0000 (15:02 +0900)]
audio-quantize: Fix dither_buffer memory leak

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

8 years agovorbisdec: Re-init on new caps
Jan Schmidt [Tue, 10 Nov 2015 13:59:16 +0000 (00:59 +1100)]
vorbisdec: Re-init on new caps

If we get new input caps, then reset the decoder
ready for new headers and fresh data. Makes
chained oggs work when reusing the decoder.

8 years agovideometa: add GstVideoAffineTransformationMeta
Matthew Waters [Mon, 2 Nov 2015 12:12:19 +0000 (23:12 +1100)]
videometa: add GstVideoAffineTransformationMeta

Adds a simple 4x4 affine transformations meta for passing arbitrary
transformations on buffers.

Based on patch by Matthieu Bouron

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

8 years agoaudio-converter: add output size argument
Wim Taymans [Tue, 10 Nov 2015 08:52:24 +0000 (09:52 +0100)]
audio-converter: add output size argument

Make it possible to have a different number of output samples than input
samples when we, for example, want to add resampling later.

8 years agodiscoverer: Check API arguments and assert if needed
Thibault Saunier [Fri, 6 Nov 2015 23:43:55 +0000 (00:43 +0100)]
discoverer: Check API arguments and assert if needed

8 years agodecodebin: Properly deactivate ghostpads
Edward Hervey [Fri, 6 Nov 2015 18:31:47 +0000 (19:31 +0100)]
decodebin: Properly deactivate ghostpads

Just setting the ghostpad as flushing wasn't enough. It needs to be
consistent on the internal proxypad also, otherwise you end up in
situations where:
* a pending buffer on the target pad triggers the sticky event
  propagation
* the default implementation sees that the proxypad is not flushing,
  so it tries to push it to the other pad (the actual ghostpad)
* the ghostpad is flushing, so returns FALSE
* the push_event function sees that pushing the event failed...
* ... and pending buffer push returns GST_FLOW_ERROR, instead of
  GST_FLOW_FLUSHING

By using gst_pad_set_active(FALSE), we ensure that both the ghostpad
and the proxypad are flushing/deactivated. The situation above will
no longer occur, and a GST_FLOW_FLUSHING will be returned.

8 years agoaudioconvert: fix build
Tim-Philipp Müller [Fri, 6 Nov 2015 18:11:41 +0000 (18:11 +0000)]
audioconvert: fix build

Don't include file that is no longer generated, and remove some
files that are no longer needed because they have moved into the
lib. Fixes distcheck.

8 years agoaudio-converter: require interleaved samples and no resampling
Wim Taymans [Fri, 6 Nov 2015 17:00:41 +0000 (18:00 +0100)]
audio-converter: require interleaved samples and no resampling

We can't yet do resampling or anything other than interleaved audio.

8 years agoaudio: update ORC dist files
Wim Taymans [Fri, 6 Nov 2015 16:54:21 +0000 (17:54 +0100)]
audio: update ORC dist files

8 years agoaudio-converter: move audio converter to audio libs
Wim Taymans [Fri, 6 Nov 2015 16:49:00 +0000 (17:49 +0100)]
audio-converter: move audio converter to audio libs

Move the audio-converter helper to the audio library.

8 years agoaudio-channel-mix: move channel mixer to audio libs
Wim Taymans [Fri, 6 Nov 2015 16:39:33 +0000 (17:39 +0100)]
audio-channel-mix: move channel mixer to audio libs

Move the channel mixer code to the audio library

8 years agoaudio: add debug categories
Wim Taymans [Fri, 6 Nov 2015 16:29:22 +0000 (17:29 +0100)]
audio: add debug categories

8 years agochannelmix: don't limit channelpositions
Wim Taymans [Fri, 6 Nov 2015 15:42:35 +0000 (16:42 +0100)]
channelmix: don't limit channelpositions

Don't set a limit on the channel positions, just like the metadata.

8 years agochannelmix: simplify API a little
Wim Taymans [Fri, 6 Nov 2015 15:03:20 +0000 (16:03 +0100)]
channelmix: simplify API a little

Remove the format and layout from the mix_samples function and use the
format when creating the channel mixer object. Also use a flag to handle
the unlikely case of non-interleaved samples like we do elsewhere.

8 years agochannelmix: GstChannel -> GstAudioChannel
Wim Taymans [Fri, 6 Nov 2015 14:50:34 +0000 (15:50 +0100)]
channelmix: GstChannel -> GstAudioChannel

Rename GstChannel to GstAudioChannel

8 years agoaudio-quantize: update docs
Wim Taymans [Fri, 6 Nov 2015 12:02:19 +0000 (13:02 +0100)]
audio-quantize: update docs

Update docs
Add another flag for the quantizer

8 years agoaudioconvert: cleanups and add some docs
Wim Taymans [Fri, 6 Nov 2015 11:46:36 +0000 (12:46 +0100)]
audioconvert: cleanups and add some docs

Add docs for the internal audioconvert object before moving it to the
audio library.
Remove get_sizes and implement the trivial logic in the element.
Remove some unused orc functions

8 years agodefs: update defs
Wim Taymans [Fri, 6 Nov 2015 11:46:12 +0000 (12:46 +0100)]
defs: update defs

8 years agoaudio: update orc files
Wim Taymans [Fri, 6 Nov 2015 11:37:14 +0000 (12:37 +0100)]
audio: update orc files

8 years agoaudioconvert: move audio quantize code to libs
Wim Taymans [Fri, 6 Nov 2015 11:10:48 +0000 (12:10 +0100)]
audioconvert: move audio quantize code to libs

Move the audio quantize code from audioconvert to the audio library.
work on making an audio converter helper function similar to the video
converter.
Fold fastrandom directly into the quantizer, add some ORC code to
optimize this later.

8 years agoaudio-channels: rename get_default_mask
Wim Taymans [Thu, 5 Nov 2015 11:42:56 +0000 (12:42 +0100)]
audio-channels: rename get_default_mask

Rename _get_default_mask() to _get_fallback_mask() to make it more
clear that the function only provides a fallback if nothing else can be
done. Also clarify this in the documentation.

API: gst_audio_channel_get_fallback_mask()

8 years agovolume: Do not try to get binding value array if we are not processing any sample
Thibault Saunier [Thu, 5 Nov 2015 10:34:07 +0000 (11:34 +0100)]
volume: Do not try to get binding value array if we are not processing any sample

In some conditions we might process empty buffers, calling
gst_control_binding_get_value_array in that case will lead
to the assertion:

  (lt-ges-launch-1.0:18859): GStreamer-CRITICAL **: gst_control_binding_get_value_array: assertion 'values' failed

8 years agoaudio-channels: make method to get default channel-mask
Wim Taymans [Thu, 5 Nov 2015 09:40:18 +0000 (10:40 +0100)]
audio-channels: make method to get default channel-mask

Add a new method to get the default channel-mask.
Use the new method on audiodecoder and audioconvert.

API: gst_audio_channel_get_default_mask()

8 years agotests: Add a test for video blending over transparent frames
Andreas Frisch [Mon, 10 Nov 2014 10:11:37 +0000 (11:11 +0100)]
tests: Add a test for video blending over transparent frames

And fix the test_overlay_blend test where we blend over a
transparent frame and where expecting wrong results

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

8 years agovideo: blend using OVER operation
Arnaud Vrac [Sat, 30 Nov 2013 00:59:55 +0000 (01:59 +0100)]
video: blend using OVER operation

Also support all premultiplied/non-premultiplied source/destination
configurations

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

8 years agooggdemux: Create full Opus caps with all fields
Sebastian Dröge [Tue, 3 Nov 2015 14:51:47 +0000 (16:51 +0200)]
oggdemux: Create full Opus caps with all fields

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

8 years agocodec-utils: Add utilities for Opus caps and the OpusHead header
Sebastian Dröge [Tue, 3 Nov 2015 16:30:09 +0000 (18:30 +0200)]
codec-utils: Add utilities for Opus caps and the OpusHead header

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

8 years agooggmux: Use GstAudioClippingMeta for Opus for accurate end clipping
Sebastian Dröge [Tue, 3 Nov 2015 09:11:57 +0000 (11:11 +0200)]
oggmux: Use GstAudioClippingMeta for Opus for accurate end clipping

... instead of relying on the segment. For the clipping at the start we assume
a proper value in the OpusHead, as generated by opusparse or opusenc.

Transmuxing in general is not guaranteed to produce the correct values, or
even have a OpusHead (e.g. when having RTP input).

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

8 years agooggdemux: Add GstAudioClippingMeta for Opus for accurate start/end clipping
Sebastian Dröge [Tue, 3 Nov 2015 08:58:35 +0000 (10:58 +0200)]
oggdemux: Add GstAudioClippingMeta for Opus for accurate start/end clipping

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

8 years agoaudio: Add GstAudioClippingMeta for specifying clipping on encoded audio buffers
Sebastian Dröge [Mon, 2 Nov 2015 14:19:42 +0000 (16:19 +0200)]
audio: Add GstAudioClippingMeta for specifying clipping on encoded audio buffers

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

8 years agooggdemux: Allow start clipping for Opus
Sebastian Dröge [Mon, 2 Nov 2015 09:19:23 +0000 (11:19 +0200)]
oggdemux: Allow start clipping for Opus

The granulepos does not have the pre-skip subtracted while timestamps do,
and the last granulepos will be shorter by the number of samples that should
be dropped because of padding in the end.

As such, extrapolating the granule of the beginning of the first frame will
lead to a negative value, which is not a problem but intentional.

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

8 years agoaudio: update disted orc backup files
Tim-Philipp Müller [Tue, 3 Nov 2015 16:38:09 +0000 (16:38 +0000)]
audio: update disted orc backup files

8 years agoaudioclock: use GST_STIME_FORMAT for GstClockTimeDiff
Luis de Bethencourt [Tue, 3 Nov 2015 14:08:25 +0000 (14:08 +0000)]
audioclock: use GST_STIME_FORMAT for GstClockTimeDiff

GST_STIME_FORMAT is more appropriate for GstClockTimeDiff since it can
handle negative values better.

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

8 years agovideodecoder: Print GstClockTimeDiff as a signed integer in debug logs
Luis de Bethencourt [Tue, 3 Nov 2015 13:44:39 +0000 (13:44 +0000)]
videodecoder: Print GstClockTimeDiff as a signed integer in debug logs

8 years agoaudio-format: add TRUNCATE_RANGE flag
Wim Taymans [Tue, 3 Nov 2015 10:59:09 +0000 (11:59 +0100)]
audio-format: add TRUNCATE_RANGE flag

Add a TRUNCATE_RANGE flag for unpack functions to fill the least
significate bits with 0 (as did the old code). Also add functions
that don't truncate. Use the TRUNC flag in audioconvert for
backwards compatibility for now.

8 years agoaudiopack: improve pack functions
Wim Taymans [Tue, 3 Nov 2015 10:57:32 +0000 (11:57 +0100)]
audiopack: improve pack functions

Avoid shifts by using convh functions.

8 years agoaudioconvert: change multiplier for int<->float conversion
Wim Taymans [Tue, 3 Nov 2015 10:44:54 +0000 (11:44 +0100)]
audioconvert: change multiplier for int<->float conversion

Use (1 << 31) as the multiplier for int<->float conversions. This makes
sure that int->float conversions always end up with floats between
[-1.0, 1.0].
For the conversion from float to int, this multiplier will give the complete
int range after we perform clipping.
Change the unit test to take this into consideration.

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

8 years agoaudiobasesink: use GST_STIME_ARGS for GstClockTimeDiff
Luis de Bethencourt [Mon, 2 Nov 2015 17:32:55 +0000 (17:32 +0000)]
audiobasesink: use GST_STIME_ARGS for GstClockTimeDiff

No need to use G_GINT64_FORMAT for potentially negative values of
GstClockTimeDiff. Since 1.6 these can be handled with GST_STIME_ARGS.
Plus it creates more readable values in the logs.

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

8 years agooggmux: Print GstClockTimeDiff as a signed integer in debug logs
Luis de Bethencourt [Mon, 2 Nov 2015 16:36:35 +0000 (16:36 +0000)]
oggmux: Print GstClockTimeDiff as a signed integer in debug logs

8 years agooggdemux: Use GstClockTimeDiff and print signed integer in debug logs
Luis de Bethencourt [Mon, 2 Nov 2015 16:09:52 +0000 (16:09 +0000)]
oggdemux: Use GstClockTimeDiff and print signed integer in debug logs

Use GstClockTimeDiff and Clock macros to print signed integer time
differences in the debug logs.

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

8 years agoexamples: use GST_STIME_FORMAT for GstClockTimeDiff
Luis de Bethencourt [Mon, 2 Nov 2015 14:06:39 +0000 (14:06 +0000)]
examples: use GST_STIME_FORMAT for GstClockTimeDiff

GST_STIME_FORMAT is more appropriate for GstClockTimeDiff since it can
handle negative values better.

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

8 years agoaudio: Fix parameters to gst_buffer_get_audio_downmix_meta() in macro
Sebastian Dröge [Mon, 2 Nov 2015 15:14:51 +0000 (17:14 +0200)]
audio: Fix parameters to gst_buffer_get_audio_downmix_meta() in macro

8 years agoaudiotestsrc: increase freq limit
Wim Taymans [Mon, 2 Nov 2015 14:54:19 +0000 (15:54 +0100)]
audiotestsrc: increase freq limit

Raise the frequency limit and try to negotiate to a samplerate of 4*freq
when larger then the default samplerate.

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

8 years agoaudiotestsrc: add support for unlimited number of channels
Wim Taymans [Mon, 2 Nov 2015 14:46:22 +0000 (15:46 +0100)]
audiotestsrc: add support for unlimited number of channels

Raise the channel limit and set the channel-mask for > 2 channels.

8 years agoaudiotestsrc: add support for all formats
Wim Taymans [Mon, 2 Nov 2015 12:19:09 +0000 (13:19 +0100)]
audiotestsrc: add support for all formats

Use the pack functions to also support the other audio formats we
have.

8 years agovideodecoder: subtract time difference with GST_CLOCK_DIFF
Luis de Bethencourt [Mon, 2 Nov 2015 12:09:42 +0000 (12:09 +0000)]
videodecoder: subtract time difference with GST_CLOCK_DIFF

To ensure the subtraction of two GstClockTime values (which are guint64)
can be negative. Use GST_CLOCK_DIFF which returns a gint64.

CID 1338049

8 years agoencoding-profile: Do not force user to provide an encoding profile name
Thibault Saunier [Mon, 2 Nov 2015 10:34:56 +0000 (11:34 +0100)]
encoding-profile: Do not force user to provide an encoding profile name

And use the profile called `default` if none provided.

8 years agoencoding-target: Do not unconditionally break when searching for a target
Thibault Saunier [Mon, 2 Nov 2015 10:30:07 +0000 (11:30 +0100)]
encoding-target: Do not unconditionally break when searching for a target

Otherwise the loop is useless!

Fixes CID 1338051

8 years agoaudioresample: Clip input buffers to the segment before handling them
Sebastian Dröge [Sat, 24 Oct 2015 17:08:47 +0000 (20:08 +0300)]
audioresample: Clip input buffers to the segment before handling them

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

8 years agoaudioconvert: Clip input buffers to the segment before handling them
Sebastian Dröge [Sat, 24 Oct 2015 17:05:10 +0000 (20:05 +0300)]
audioconvert: Clip input buffers to the segment before handling them

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

8 years agoaudiofilter: Clip input buffers to the segment before handling them
Sebastian Dröge [Sat, 24 Oct 2015 17:02:13 +0000 (20:02 +0300)]
audiofilter: Clip input buffers to the segment before handling them

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

8 years agoaudioconvert: update orc backup code to fix build without orc
Tim-Philipp Müller [Sun, 1 Nov 2015 23:05:10 +0000 (23:05 +0000)]
audioconvert: update orc backup code to fix build without orc

8 years agomultisocketsink: fix "client-removed" signal on 64-bit platforms and with bindings
Csaba Toth [Mon, 26 Oct 2015 20:32:41 +0000 (21:32 +0100)]
multisocketsink: fix "client-removed" signal on 64-bit platforms and with bindings

The client-removed signal used G_INT_TYPE instead of G_SOCKET_TYPE
in its definition leading to problems on platforms where the size
of a pointer is larger than the size of an integer, It would also
not work at all with dynamic language bindings.

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

8 years agovideotestsrc: fix handling of Bayer format 'gbrg'
Joan Pau Beltran [Wed, 28 Oct 2015 17:36:41 +0000 (18:36 +0100)]
videotestsrc: fix handling of Bayer format 'gbrg'

Due to a typo, videotestsrc did not handle the Bayer
format 'gbrg' properly and reported it as invalid,
causing negotiation errors.

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

8 years agoaudioconvert: rework audioconvert
Wim Taymans [Fri, 30 Oct 2015 16:36:48 +0000 (17:36 +0100)]
audioconvert: rework audioconvert

Rewrite audioconvert to try to make it more clear what steps are
executed during conversion.
Add passthrough step that just does a memcpy when possible.
Add ORC optimized dither and quantization functions.
Implement noise-shaping on S32 samples only and allow for arbitrary
noise shaping coefficients if we want this later.

8 years agochannelmix: fix up API a little
Wim Taymans [Fri, 30 Oct 2015 16:33:32 +0000 (17:33 +0100)]
channelmix: fix up API a little

don't use gpointer * for something that should be gpointer.

8 years agoaudioquantize: make helper for add with saturation
Wim Taymans [Wed, 28 Oct 2015 10:40:42 +0000 (11:40 +0100)]
audioquantize: make helper for add with saturation

8 years agovideodecoder: Print another time difference as a signed integer instead of a huge...
Sebastian Dröge [Thu, 29 Oct 2015 14:52:31 +0000 (16:52 +0200)]
videodecoder: Print another time difference as a signed integer instead of a huge unsigned one

8 years agovideodecoder: Print GstClockTimeDiff as a signed integer in debug logs
Sebastian Dröge [Thu, 29 Oct 2015 14:01:26 +0000 (16:01 +0200)]
videodecoder: Print GstClockTimeDiff as a signed integer in debug logs

8 years agotools: gst-device-monitor: fix two memory leaks
Nirbheek Chauhan [Wed, 28 Oct 2015 18:31:01 +0000 (00:01 +0530)]
tools: gst-device-monitor: fix two memory leaks

The removed GList link needs to be freed too, and
the G_OPTION_REMAINING arguments need to be freed.

8 years agoencoding-target: Add a GST_ENCODING_TARGET_PATH envvar to find target files
Thibault Saunier [Wed, 28 Oct 2015 14:50:44 +0000 (15:50 +0100)]
encoding-target: Add a GST_ENCODING_TARGET_PATH envvar to find target files

8 years agoencoding-target: Allow having encoding target without a category set
Thibault Saunier [Wed, 28 Oct 2015 14:47:00 +0000 (15:47 +0100)]
encoding-target: Allow having encoding target without a category set

There was already some code to handle that, but the support was not
complete in those code paths.

8 years agoencoding-target: Create directory before trying to save encoding targets
Thibault Saunier [Tue, 27 Oct 2015 11:56:48 +0000 (12:56 +0100)]
encoding-target: Create directory before trying to save encoding targets

8 years agoencoding-profile: Allow specifying the target category in the serialized encoding...
Thibault Saunier [Tue, 27 Oct 2015 11:50:26 +0000 (12:50 +0100)]
encoding-profile: Allow specifying the target category in the serialized encoding target

8 years agoaudioconvert: make the quantizer a reusable object
Wim Taymans [Tue, 27 Oct 2015 16:28:06 +0000 (17:28 +0100)]
audioconvert: make the quantizer a reusable object

Turn the quantizer into a reusable object.

8 years agoaudioconvert: make the channel mixer a separate reusable object
Wim Taymans [Tue, 27 Oct 2015 12:24:31 +0000 (13:24 +0100)]
audioconvert: make the channel mixer a separate reusable object

A first attempt at making the channel mixer a separate object.

8 years agoaudioquantize: fix 8-pole noise shaping
Wim Taymans [Wed, 28 Oct 2015 10:32:57 +0000 (11:32 +0100)]
audioquantize: fix 8-pole noise shaping

Fix the 8-pole noise shaping error update. We were mixing errors from
different channels.

8 years agodecodebin: Send SEEK events directly to adaptive streaming demuxers
Sebastian Dröge [Tue, 27 Oct 2015 13:44:06 +0000 (15:44 +0200)]
decodebin: Send SEEK events directly to adaptive streaming demuxers

This makes sure that they will always get SEEK events, even if we're currently
in the middle of a group switch (i.e. switching to another
representation/bitrate/etc).

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

8 years agodecodebin: fix event leak
Guillaume Desmottes [Tue, 6 Oct 2015 13:20:51 +0000 (15:20 +0200)]
decodebin: fix event leak

As stated in GST_PAD_PROBE_HANDLED's documentation, we are
supposed to unref the event before returning.

Fixes an event leak in the validate.hls.playback.play_15s.hls_bibbop
validate scenario.

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

8 years agoaudioconvert: Update disted orc files
Sebastian Dröge [Fri, 23 Oct 2015 16:13:05 +0000 (19:13 +0300)]
audioconvert: Update disted orc files

8 years agoaudioconvert: use pack/unpack functions
Wim Taymans [Fri, 23 Oct 2015 14:58:17 +0000 (16:58 +0200)]
audioconvert: use pack/unpack functions

Rework the converter to use the pack/unpack functions
Because the unpack functions can only unpack to 1 format, add a separate
conversion step for doubles when the unpack function produces int.
Do conversion to S32 in the quantize function directly.
Tweak the conversion factor for doing float->int conversion slightly to
get the full range of negative samples, use clamp to make sure we don't
exceed our int range on the positive axis (see also #755301)

8 years agoplaybin: Send upstream events directly to playsink
Sebastian Dröge [Fri, 23 Oct 2015 09:02:28 +0000 (12:02 +0300)]
playbin: Send upstream events directly to playsink

Send event directly to playsink instead of letting GstBin iterate
over all sink elements. The latter might send the event multiple times
in case the SEEK causes a reconfiguration of the pipeline, as can easily
happen with adaptive streaming demuxers.

What would then happen is that the iterator would be reset, we send the
event again, and on the second time it will fail in the majority of cases
because the pipeline is still being reconfigured

8 years agotests: typefindfunctions: fix error leaks
Eunhae Choi [Fri, 23 Oct 2015 08:25:50 +0000 (17:25 +0900)]
tests: typefindfunctions: fix error leaks

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

8 years agovideotestsrc: Force alpha downstream if foreground color contains alpha
Thibault Saunier [Wed, 23 Sep 2015 16:47:52 +0000 (18:47 +0200)]
videotestsrc: Force alpha downstream if foreground color contains alpha

Otherwise the foreground color won't be fully represented in the
outputted frames.

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

8 years agovideo: overlay-composition: fix rectangle and composition cast macros
Pavel Bludov [Thu, 22 Oct 2015 04:07:44 +0000 (12:07 +0800)]
video: overlay-composition: fix rectangle and composition cast macros

Closing parenthesis was missing in two cases.

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

8 years agoAutomatic update of common submodule
Tim-Philipp Müller [Wed, 21 Oct 2015 13:34:56 +0000 (14:34 +0100)]
Automatic update of common submodule

From b99800a to b319909

8 years agoUse new GST_ENABLE_EXTRA_CHECKS #define
Sebastian Dröge [Tue, 20 Oct 2015 14:29:42 +0000 (17:29 +0300)]
Use new GST_ENABLE_EXTRA_CHECKS #define

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

8 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 21 Oct 2015 11:25:47 +0000 (14:25 +0300)]
Automatic update of common submodule

From 9aed1d7 to b99800a

8 years agortp: GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is Since 1.6.1
Sebastian Dröge [Tue, 20 Oct 2015 09:08:23 +0000 (12:08 +0300)]
rtp: GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is Since 1.6.1

8 years agodecodebin: track the exposable pads through connect_pad
Matthew Waters [Mon, 19 Oct 2015 16:58:26 +0000 (03:58 +1100)]
decodebin: track the exposable pads through connect_pad

The logic introduced by
[d50b713: decodebin: set the decode pad target before setting elements to PAUSED]
to expose pads would only ever be able to possibly expose one (the last) pad per element.

Make it so that any exposable pads are able to be exposed rather than just the
last pad returned by connect_element.

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

8 years agodecodebin: return the possibly new chain in analyze_new_pad
Matthew Waters [Mon, 19 Oct 2015 16:52:24 +0000 (03:52 +1100)]
decodebin: return the possibly new chain in analyze_new_pad

In the case of analyzing a demuxer chain, analyze_new_pad may create
a new GstDecodeChain.  This was not propagated to the calling function which as
of [d50b713f decodebin: set the decode pad target before setting elements to PAUSED]
is now required to be able to expose the correct pad.

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

8 years agoplaysink: relink text_pad in case of reconfiguration
Rajat Verma [Mon, 19 Oct 2015 10:02:19 +0000 (15:32 +0530)]
playsink: relink text_pad in case of reconfiguration

In case of reconfiguration, text_pad should be re-connected with
stream synchronizer sink pad. Otherwise we'll leave an unlinked pad around if
there always was a streamsynchronizer text pad.

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

8 years agoaudiobasesink: fix issue about eos handling during flushing
eunhae choi [Mon, 14 Sep 2015 06:25:11 +0000 (15:25 +0900)]
audiobasesink: fix issue about eos handling during flushing

If the flush-start is arrived during _eos_wait() in basesink,
the 'eos' flag is overwritten to TRUE after exiting the _eos_wait().
To resolve the overwritten issue,
the subclass doing the _eos_wait() call should return the right value.
If the eos flag is set to TRUE again, it will cause error(enter the eos flow)
of the following state changing from PAUSED to PLAYING in basesink.

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

8 years agodecodebin/playbin/playsink/subtitleoverlay: Post async-done on state change failures
Sebastian Dröge [Sat, 17 Oct 2015 19:25:22 +0000 (22:25 +0300)]
decodebin/playbin/playsink/subtitleoverlay: Post async-done on state change failures

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