platform/upstream/gst-plugins-base.git
8 years agoRelease 1.7.90
Sebastian Dröge [Tue, 1 Mar 2016 16:14:54 +0000 (18:14 +0200)]
Release 1.7.90

8 years agopo: Update translations
Sebastian Dröge [Tue, 1 Mar 2016 14:53:05 +0000 (16:53 +0200)]
po: Update translations

8 years agomultisocketsink: handle client close correctly and EWOULDBLOCK
Tom Deseyn [Thu, 28 Jan 2016 15:26:47 +0000 (16:26 +0100)]
multisocketsink: handle client close correctly and EWOULDBLOCK

Fixes 100% cpu usage when client disconnects. Commit 6db2ee56
would just make multisocketsink ignore reads of 0 bytes without
removing the client, so we'd get woken up over and over again
for the client.

Fix the original issue differently by handling the non-fatal error code.

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

8 years agovideo: update disted orc backup file
Tim-Philipp Müller [Sat, 27 Feb 2016 00:11:02 +0000 (00:11 +0000)]
video: update disted orc backup file

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

8 years agovideo-converter: add direct UYVY to GRAY8 conversion function
Göran Jönsson [Thu, 11 Feb 2016 10:27:57 +0000 (11:27 +0100)]
video-converter: add direct UYVY to GRAY8 conversion function

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

8 years agoopus: fix mono<->stereo up/down-mixing
Vincent Penquerc'h [Thu, 4 Feb 2016 16:01:00 +0000 (16:01 +0000)]
opus: fix mono<->stereo up/down-mixing

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

8 years agopbutils: docs: Remove the empty lines in between <refsect2> and </refsect2>
Lim Siew Hoon [Fri, 26 Feb 2016 09:09:06 +0000 (17:09 +0800)]
pbutils: docs: Remove the empty lines in between <refsect2> and </refsect2>

They are converted into <para></para> by gtk-doc...

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

8 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 26 Feb 2016 10:41:01 +0000 (12:41 +0200)]
Automatic update of common submodule

From b64f03f to 6f2d209

8 years agoopusenc: remove deprecated "cbr", "audio", and "constrained-vbr" properties
Tim-Philipp Müller [Fri, 26 Feb 2016 00:53:05 +0000 (00:53 +0000)]
opusenc: remove deprecated "cbr", "audio", and "constrained-vbr" properties

They have been replaced by "audio-type" and "bitrate-type".

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

8 years agodocs: add Opus to docs
Tim-Philipp Müller [Fri, 26 Feb 2016 00:37:57 +0000 (00:37 +0000)]
docs: add Opus to docs

8 years agoopus: move Opus audio decoder and encoder from -bad to -base
Tim-Philipp Müller [Fri, 26 Feb 2016 00:20:10 +0000 (00:20 +0000)]
opus: move Opus audio decoder and encoder from -bad to -base

Hook into build system after moving history.

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

8 years agoMerge branch 'plugin-move-opus'
Tim-Philipp Müller [Thu, 25 Feb 2016 23:51:42 +0000 (23:51 +0000)]
Merge branch 'plugin-move-opus'

Move Opus decoder and encoder from -bad to -base.

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

8 years agotools: gst-play: add 'n' and 'b' as additional shortcuts for next/previous item
Tim-Philipp Müller [Thu, 25 Feb 2016 23:13:39 +0000 (23:13 +0000)]
tools: gst-play: add 'n' and 'b' as additional shortcuts for next/previous item

< and > are composed with shift + something else on many keyboards
layouts, so don't work well when injecting them via windowing systems
which will send them as shift key press and separate other key, and
we the don't combine that to < or > properly. n/b are easier.

8 years agoaudiovisualizer: Use the library instead of including the source file
Sebastian Dröge [Thu, 25 Feb 2016 22:02:49 +0000 (00:02 +0200)]
audiovisualizer: Use the library instead of including the source file

Fixes build now that the shader enum GType has moved to a different file.

8 years agoaudiovisualizer: Let GstAudioVisualizerShader enum GType be autogenerated by glib...
Sebastian Dröge [Thu, 25 Feb 2016 18:39:04 +0000 (20:39 +0200)]
audiovisualizer: Let GstAudioVisualizerShader enum GType be autogenerated by glib-mkenums

That happens automatically already anyway.

8 years agovideo: flesh out docs for gst_video_frame_map()
Tim-Philipp Müller [Thu, 25 Feb 2016 17:46:31 +0000 (17:46 +0000)]
video: flesh out docs for gst_video_frame_map()

8 years agovisual: correct type name
Luis de Bethencourt [Thu, 25 Feb 2016 10:47:17 +0000 (10:47 +0000)]
visual: correct type name

Base class type name should not reference libvisual since not all child
elements use this. This was an oversight when merging audiovisualizers into
a common base class.

8 years agoaudio-quantize: fix feedback dither
Wim Taymans [Wed, 24 Feb 2016 13:05:03 +0000 (14:05 +0100)]
audio-quantize: fix feedback dither

Make sure we allocated enough extra space in the error buffer to
store the feedback error.

8 years agoaudio-converter: perform dithering on the current format
Wim Taymans [Wed, 24 Feb 2016 11:54:39 +0000 (12:54 +0100)]
audio-converter: perform dithering on the current format

Use the current (intermediate) format to decide how to set up dithering
instead of the input format.

8 years agortpbasepayload: Handle gst_pad_get_current_caps() returning NULL gracefully
Sebastian Dröge [Tue, 23 Feb 2016 16:23:45 +0000 (18:23 +0200)]
rtpbasepayload: Handle gst_pad_get_current_caps() returning NULL gracefully

8 years agoRevert "playsink: Properly mark pending blocked pads"
Edward Hervey [Tue, 23 Feb 2016 08:35:14 +0000 (09:35 +0100)]
Revert "playsink: Properly mark pending blocked pads"

This reverts commit 62053852de01fb324a915b27c00f5b8dc0f66fb3.

The issue that the patch fixes is only noticeable when using decodebin3,
which isn't yet in master.

8 years agotag: id3v2: read conductor tag
Adam Miartus [Thu, 10 Dec 2015 14:32:06 +0000 (15:32 +0100)]
tag: id3v2: read conductor tag

ID3v2 features the TPE3 info frame, which contains information
about the conductor.

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

8 years agoFix use of undeclared core debug category symbols
Tim-Philipp Müller [Sat, 20 Feb 2016 11:31:43 +0000 (11:31 +0000)]
Fix use of undeclared core debug category symbols

libgstreamer currently exports some debug category
symbols GST_CAT_*, but those are not declared in any
public headers.

Some plugins and libgstvideo just use GST_DEBUG_CATEGORY_EXTERN()
to declare and use those, but that's just not right at
all, and it won't work on Windows with MSVC. Instead look
up the categories via the API.

8 years agowin32: remove outdated build cruft
Tim-Philipp Müller [Sat, 20 Feb 2016 10:05:17 +0000 (10:05 +0000)]
win32: remove outdated build cruft

This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.

8 years agoBack to development
Sebastian Dröge [Fri, 19 Feb 2016 10:38:24 +0000 (12:38 +0200)]
Back to development

8 years agoRelease 1.7.2
Sebastian Dröge [Fri, 19 Feb 2016 09:48:30 +0000 (11:48 +0200)]
Release 1.7.2

8 years agopo: Update translations
Sebastian Dröge [Fri, 19 Feb 2016 08:31:05 +0000 (10:31 +0200)]
po: Update translations

8 years agouninstalled.pc: add support for non libtool build systems
Julien Isorce [Thu, 18 Feb 2016 14:31:28 +0000 (14:31 +0000)]
uninstalled.pc: add support for non libtool build systems

Currently the .la path is provided which requires to use libtool as
mentioned in the GStreamer manual section-helloworld-compilerun.html.
It is fine as long as the application is built using libtool.

So currently it is not possible to compile a GStreamer application
within gst-uninstalled with CMake or other build system different
than autotools.

This patch allows to do the following in gst-uninstalled env:
gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \
    gstreamer-video-1.0)
Previously it required to prepend libtool --mode=link

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

8 years agotypefind: strengthen check for valid H.263 picture layer
Reynaldo H. Verdejo Pinochet [Sat, 23 Jan 2016 02:26:01 +0000 (18:26 -0800)]
typefind: strengthen check for valid H.263 picture layer

Avoids some false positives leading to miss identification:

* Prevent picture start code emulation for the first 2 bytes read
* Add check for valid "picture coding type" and "PB-frames mode" combination

Additionally, change name on confusingly named TR var to what
it is, the layer's PTYPE.

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

8 years agodecodebin: return incomplete topology if decode chains' cap could not be obtained
Vineeth T M [Mon, 23 Nov 2015 06:06:02 +0000 (15:06 +0900)]
decodebin: return incomplete topology if decode chains' cap could not be obtained

When getting caps of the decode chain, in get_topology, the caps are being
checked if fixed or not. But get_topology will be called when the decode is
chain is being exposed and hence it will always be fixed. Hence removing the
check for fixed caps. Removing gst_pad_get_current_caps for the chain->pad, as
get_pad_caps will again call the same api.

And get_topology can return NULL value if currently shutting down the
pipeline, which on being passed to create message will result in assertion
error. Check if topology is valid before using it

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

8 years agortp: build audio library before rtp
Havard Graff [Fri, 5 Feb 2016 09:10:40 +0000 (10:10 +0100)]
rtp: build audio library before rtp

Because audio-enumtypes.h needs to be available for
gstrtpbaseaudiopayload.c

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

8 years agodecodebin: Fix documentation of the autoplug-query signal
Sebastian Dröge [Mon, 15 Feb 2016 19:28:33 +0000 (21:28 +0200)]
decodebin: Fix documentation of the autoplug-query signal

8 years agovideoencoder: Fix leak when pre_push does not return OK
Stian Selnes [Tue, 26 Jan 2016 12:54:46 +0000 (13:54 +0100)]
videoencoder: Fix leak when pre_push does not return OK

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

8 years agoresample: avoid overflows
Wim Taymans [Thu, 11 Feb 2016 18:47:04 +0000 (19:47 +0100)]
resample: avoid overflows

Avoid overflow in rate calculation. This can cause the resampler to
start on the wrong phase after a rate change.
Avoid overflow in cubic fraction calculation. This can cause noise when
dealing with higher samplerates.

8 years agoresample: fix double interpolation sse code
Wim Taymans [Thu, 11 Feb 2016 17:01:40 +0000 (18:01 +0100)]
resample: fix double interpolation sse code

We were only reading 2 filter taps and we need to read 4 to do cubic
interpolation.

8 years agoaudio-converter: make a copy if we can't write in unpack
Wim Taymans [Wed, 10 Feb 2016 11:48:15 +0000 (12:48 +0100)]
audio-converter: make a copy if we can't write in unpack

If we don't have writable memory, make sure to make a copy of the input
samples into a temporary (writable) buffer, even if we are dealing with
a native intermediate format that we don't need to call the unpack
function for.

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

8 years agotests: extend the AM_TESTS_ENVIRONMENT from check.mak
Thiago Santos [Fri, 5 Feb 2016 22:15:16 +0000 (19:15 -0300)]
tests: extend the AM_TESTS_ENVIRONMENT from check.mak

To get the CK_DEFAULT_TIMEOUT defined for all tests.

Also replaces a 120 timeout that was set.

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

8 years agoAutomatic update of common submodule
Thiago Santos [Fri, 5 Feb 2016 21:03:07 +0000 (18:03 -0300)]
Automatic update of common submodule

From 86e4663 to b64f03f

8 years agotextoverlay: Expose rendering dimensions as properties.
Lubosz Sarnecki [Thu, 21 Jan 2016 08:43:35 +0000 (09:43 +0100)]
textoverlay: Expose rendering dimensions as properties.

In order to detect graphical user input on the
textoverlay, the resulting rendering properties
need to be exposed to applications.

Fixes delayx property declaration.

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

8 years agotextoverlay: Do not limit positioning to video area.
Lubosz Sarnecki [Wed, 20 Jan 2016 14:37:44 +0000 (15:37 +0100)]
textoverlay: Do not limit positioning to video area.

The current position property is limited to X,Y positions
in the range of [0, 1]. This patch allows full control
over the overlay position, including partially outside
of the video area.

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

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 agoaudiorate: Use gst_audio_format_fill_silence() instead of memset with 0 for generatin...
Sebastian Dröge [Thu, 28 Jan 2016 12:29:39 +0000 (13:29 +0100)]
audiorate: Use gst_audio_format_fill_silence() instead of memset with 0 for generating silence

For unsigned formats, silence is not all bits 0.

8 years agoaudio/videodecoder: Minor cleanup of last commit
HoonHee Lee [Thu, 28 Jan 2016 12:21:33 +0000 (13:21 +0100)]
audio/videodecoder: Minor cleanup of last commit

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

8 years agoaudio/videodecoder: use gst_pad_peer_query_caps to make output caps
HoonHee Lee [Thu, 28 Jan 2016 09:06:44 +0000 (18:06 +0900)]
audio/videodecoder: use gst_pad_peer_query_caps to make output caps

gst_pad_get_allowed_caps() will return NULL if the srcpad has no peer.
In that case, use gst_pad_peer_query_caps() with template caps as filter
to have negotiated output caps properly before forwarding GAP event.

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

8 years agoencodebin: Allow streamheader update when profile.allow_dynamic_output == FALSE
Thibault Saunier [Tue, 26 Jan 2016 18:23:04 +0000 (19:23 +0100)]
encodebin: Allow streamheader update when profile.allow_dynamic_output == FALSE

Some encoders can update the stream header through time (for example
vp8 might do that) but it does not strictly changes the output format.

8 years agovideo-format: fix GstVideoFormatInfo documentation warnings
Aurélien Zanelli [Tue, 26 Jan 2016 13:09:42 +0000 (14:09 +0100)]
video-format: fix GstVideoFormatInfo documentation warnings

Add missing ':' to tile_ws and tile_hs fields documentation to avoid
bad render of these two fields, mark reserved bytes as private to hide
field and avoid gtkdoc warning and add parameters description to
documented macro to avoid gtkdoc warnings.

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

8 years agoaudio-converter: add reset function
Wim Taymans [Tue, 26 Jan 2016 15:56:57 +0000 (16:56 +0100)]
audio-converter: add reset function

8 years agoaudio-converter: handle NULL input
Wim Taymans [Tue, 26 Jan 2016 15:36:41 +0000 (16:36 +0100)]
audio-converter: handle NULL input

Allow NULL as input to mean silence samples.

8 years agoaudio-converter: improve _update_config
Wim Taymans [Tue, 26 Jan 2016 16:16:52 +0000 (17:16 +0100)]
audio-converter: improve _update_config

Allow NULL config to keep the existing parameters.
Fix the docs.

8 years agoaudio-converter: audio-converter: make some optimized functions
Wim Taymans [Tue, 26 Jan 2016 16:14:20 +0000 (17:14 +0100)]
audio-converter: audio-converter: make some optimized functions

Make optimized functions for generic and passthrough conversion.

8 years agoaudio-quantize: add _reset function
Wim Taymans [Tue, 26 Jan 2016 15:34:35 +0000 (16:34 +0100)]
audio-quantize: add _reset function

Add a reset function that clears any history.

8 years agobuild: remove nonsensical check for freetype
Tim-Philipp Müller [Mon, 25 Jan 2016 17:40:23 +0000 (17:40 +0000)]
build: remove nonsensical check for freetype

The examples need Gtk+, nothing uses freetype directly.

8 years agotests: libvisual: make run faster
Tim-Philipp Müller [Mon, 25 Jan 2016 16:22:17 +0000 (16:22 +0000)]
tests: libvisual: make run faster

Reduce resolution, which shouldn't make any difference
to what's tested here. Makes test finish in less than
half the time it took before (8s vs. 21s).

8 years agoalsa: Trivial doc update
Arun Raghavan [Mon, 25 Jan 2016 13:00:30 +0000 (18:30 +0530)]
alsa: Trivial doc update

alsasink now does more than just raw audio.

8 years agodecodebin: Correctly expose pads from elements that have directly exposable pads
Sebastian Dröge [Thu, 21 Jan 2016 16:30:40 +0000 (18:30 +0200)]
decodebin: Correctly expose pads from elements that have directly exposable pads

analyze_new_pad() can return a new decode chain, which might have a new
GstDecodePad in the end. We should use those two for expose_pad() and not the
original ones that were passed to analyze_new_pad().

This fails when having a demuxer element that has raw pads immediately or
if a decoder with raw caps is after an adaptive demuxer.

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

8 years agoaudio-converter: ensure correct alignment of samples
Wim Taymans [Thu, 21 Jan 2016 15:08:46 +0000 (16:08 +0100)]
audio-converter: ensure correct alignment of samples

Make sure that the data we allocate for our temporary buffers is
properly aligned.

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

8 years agovideo-color: add Adobe RGB primaries and transfer function
Wim Taymans [Thu, 21 Jan 2016 09:45:40 +0000 (10:45 +0100)]
video-color: add Adobe RGB primaries and transfer function

8 years agovideo-info: enfore RGB matrix for RGB formats
Wim Taymans [Wed, 20 Jan 2016 09:19:34 +0000 (10:19 +0100)]
video-info: enfore RGB matrix for RGB formats

In gst_video_info_to_caps(), make sure we end up with an RGB matrix for
RGB formats and warn when the GstVideoInfo colorimetry is wrong.
In gst_video_info_from_caps(), fix the GstVideoInfo with an RGB matrix
for RGB formats and warn about inconsistent caps.

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

8 years agovideo-converter: ignore matrix for RGB formats
Wim Taymans [Wed, 20 Jan 2016 09:02:20 +0000 (10:02 +0100)]
video-converter: ignore matrix for RGB formats

For RGB formats, the matrix in the colorimetry (conversion from YUV to
RGB) is irrelevant and we should ignore it and assume the identity
transform for everything we do.

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

8 years agovideoencoder: Deprecate GST_VIDEO_ENCODER_FLOW_DROPPED
Thibault Saunier [Tue, 19 Jan 2016 22:26:57 +0000 (23:26 +0100)]
videoencoder: Deprecate GST_VIDEO_ENCODER_FLOW_DROPPED

It was never actually supported or used

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

8 years agoRevert "videoencoder: Release video frame when ->handle return ERROR or DROPPED"
Thibault Saunier [Tue, 19 Jan 2016 22:22:35 +0000 (23:22 +0100)]
Revert "videoencoder: Release video frame when ->handle return ERROR or DROPPED"

This reverts commit 63517d0ed348784cce4ab4b295c2c0f1b78baa81.

It was wrong ref counting wise and we decided to deprecated DROPPED
return value

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

8 years agotests:audioconvert: Fix integer overflow build error
Vineeth TM [Mon, 18 Jan 2016 02:40:36 +0000 (11:40 +0900)]
tests:audioconvert: Fix integer overflow build error

value of 32768L << 16 and 1L << 31 is 2147483648
but it exceeds the positive range of int which is 2147483647
resulting in integer overflow error. Use G_GINT64_CONSTANT instead of L.

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

8 years agoappsrc: Minor documentation cleanup
Arun Raghavan [Tue, 19 Jan 2016 07:09:22 +0000 (12:39 +0530)]
appsrc: Minor documentation cleanup

8 years agotools: gst-play: allow setting of flags in serialized foo+bar format
Tim-Philipp Müller [Thu, 14 Jan 2016 23:14:27 +0000 (23:14 +0000)]
tools: gst-play: allow setting of flags in serialized foo+bar format

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

8 years agotools: gst-play: add command line options for verbose output and playbin flags
Hugues Fruchet [Thu, 2 Jul 2015 15:58:00 +0000 (17:58 +0200)]
tools: gst-play: add command line options for verbose output and playbin flags

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

8 years agowin32: Update exports
Sebastian Dröge [Mon, 18 Jan 2016 13:51:16 +0000 (15:51 +0200)]
win32: Update exports

8 years agoAdd WAIT_ON_EOS flag to gstappsink.
Evan Callaway [Thu, 15 Oct 2015 14:38:16 +0000 (10:38 -0400)]
Add WAIT_ON_EOS flag to gstappsink.

If set, an appsink that receives an EOS will wait until all of its buffers have been processed before continuing.

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

8 years agoaudioencoder: Add note to the documentation about various settings being reset before...
Sebastian Dröge [Sat, 16 Jan 2016 09:17:50 +0000 (10:17 +0100)]
audioencoder: Add note to the documentation about various settings being reset before set_format()

It's quite unexpected behaviour that various subclass settings are just
reset before set_format(). Unfortunately changing this now has the risk
of breaking existing code but we should reconsider this for 2.0.

8 years agostreamsynchronizer: Ignore flushing streams [..]
Mathieu Duponchelle [Sat, 9 Jan 2016 03:35:23 +0000 (04:35 +0100)]
streamsynchronizer: Ignore flushing streams [..]

[..] when resetting group start time. In GES, we are usually connected
to the streamsynchronizer on one audio and one video pad.

When seeking the timeline, both nlecompositions often output their flush_start
before any of them has output its flush_stop.

The current code, when receiving the first flush stop was using the
running time of the start of the second composition, which could
be pretty much anything, and means nothing at that point.

This patch is thread-safe, as STREAM_SYNCHRONIZER_LOCK is taken
both when setting flushing and when checking it.

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

8 years agoplaybin: Only append non-raw and sysmem pad template caps to the autoplug-query result
Sebastian Dröge [Fri, 8 Jan 2016 16:53:52 +0000 (18:53 +0200)]
playbin: Only append non-raw and sysmem pad template caps to the autoplug-query result

Otherwise a decoder supporting GL memory will think that all downstream can
support GL memory because of seeing its own template caps.

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

8 years agoRevert "playbin: only add the template caps when the result is empty"
Sebastian Dröge [Fri, 8 Jan 2016 16:37:16 +0000 (18:37 +0200)]
Revert "playbin: only add the template caps when the result is empty"

This reverts commit 023af2d3b192f8ebf1bd4fe75a22a4adaedc1e05.

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

8 years agovideoencoder: Release video frame when ->handle return ERROR or DROPPED
Thibault Saunier [Fri, 15 Jan 2016 13:35:22 +0000 (13:35 +0000)]
videoencoder: Release video frame when ->handle return ERROR or DROPPED

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

8 years agoplaysink: Properly mark pending blocked pads
Edward Hervey [Fri, 15 Jan 2016 08:50:29 +0000 (09:50 +0100)]
playsink: Properly mark pending blocked pads

When blocking input pads, we also need to properly set the appropriate
pending flag.

Without this, when switching stream types after initial configuration
(like going from Audio+Video to Audio+Video+Sub) playsink would never
wait for *all* input streams to be blocked (it would just wait for the
new input pad (text in this case) to be blocked).

Since the reconfiguration might introduce unlinking/relinking of elements,
we need to ensure that *ALL* input streams are blocked.

Failure to do so would result in having some input streams pushing data
to inactive elements (returning GST_FLOW_FLUSHING) or unlinked pads
(returning GST_FLOW_NOT_LINKED).

A later optimization could involve only blocking the input pads that
might be involved in reconfiguration. But better be safe than sorry for
now :)

8 years agogst-device-monitor: Use g_printerr instead of g_error
Nirbheek Chauhan [Wed, 6 Jan 2016 04:42:43 +0000 (10:12 +0530)]
gst-device-monitor: Use g_printerr instead of g_error

g_error is meant to be used for programmer errors (causes an abort),
not for expected runtime errors.

8 years agosubtitleoverlay: replace gst_caps_can_intersect() with is_subset()
Thiago Santos [Wed, 13 Jan 2016 19:32:25 +0000 (16:32 -0300)]
subtitleoverlay: replace gst_caps_can_intersect() with is_subset()

Subset check verifies also that all required fields are present
and is mostly commonly used when checking if an element accepts
a certain caps

8 years agoplaybin: use subset check instead of intersect
Thiago Santos [Tue, 12 Jan 2016 14:31:50 +0000 (11:31 -0300)]
playbin: use subset check instead of intersect

Elements usually require that all fields on their caps are present
on the fixed caps they receive. Using intersection won't verify it,
resort to using is_subset() checks.

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

8 years agoaudio-channel-mixer: round before truncating
Wim Taymans [Tue, 12 Jan 2016 14:56:36 +0000 (15:56 +0100)]
audio-channel-mixer: round before truncating

Round the result before truncating for int channel mixing.

8 years agoaudio-converter: Avoid conversion when possible
Wim Taymans [Tue, 12 Jan 2016 14:27:16 +0000 (15:27 +0100)]
audio-converter: Avoid conversion when possible

When the input and output formats are the same and in a possible
intermediate format, avoid unpack and pack.
Never do passthrough channel mixing.
Only do dithering and noise shaping in S32 format

8 years agoaudio-channel-mixer: add more formats
Wim Taymans [Tue, 12 Jan 2016 10:43:20 +0000 (11:43 +0100)]
audio-channel-mixer: add more formats

Add support for float and int16 mixing
Remove in-place processing, this simplifies things as we won't be using it.
Don't do clipping for float audio formats

8 years agoaudio-converter: improve processing loop
Wim Taymans [Tue, 12 Jan 2016 10:37:17 +0000 (11:37 +0100)]
audio-converter: improve processing loop

Process as many samples as we can from the input and return the number
of processed samples from the chain. This simplifies some code.
Fix the IN_WRITABLE handling, don't overwrite the flags.

8 years agosubtitleoverlay: replace accept-caps with caps query
Thiago Santos [Mon, 11 Jan 2016 21:24:48 +0000 (18:24 -0300)]
subtitleoverlay: replace accept-caps with caps query

Those accept caps are actually checking if downstream supports
some particular caps to check if it need to negotiate a different
format. Checking only the next element with accept-caps is not enough
to guarantee that it is supported.

Using a caps query makes it obtain the supported caps for downstream
as a whole instead of only the next element.

8 years agoaudio: Update exported symbols list
Sebastian Dröge [Fri, 8 Jan 2016 19:27:16 +0000 (21:27 +0200)]
audio: Update exported symbols list

8 years agovideorate: replace accept-caps with a caps query
Thiago Santos [Fri, 8 Jan 2016 18:05:38 +0000 (15:05 -0300)]
videorate: replace accept-caps with a caps query

accept-caps is only a shallow check, it needs to know
whether downstream as a whole accepts the framerate

8 years agodocs: fix up for GstAudioChannelMix rename as well
Tim-Philipp Müller [Fri, 8 Jan 2016 16:08:47 +0000 (16:08 +0000)]
docs: fix up for GstAudioChannelMix rename as well

8 years agoaudio-converter: small API tweaks
Wim Taymans [Fri, 8 Jan 2016 16:34:50 +0000 (17:34 +0100)]
audio-converter: small API tweaks

Pass flags in _converter_new() so that we can configure ourselves
differently depending on some options.
SOURCE_WRITABLE -> IN_WRITABLE because the array is called 'in'

8 years agoaudio-converter: prepare API for rate changes
Wim Taymans [Fri, 8 Jan 2016 16:28:31 +0000 (17:28 +0100)]
audio-converter: prepare API for rate changes

Use the update function to update the sample rates along with the config
once we implement resampling.

8 years agoaudio-convert: simplify API
Wim Taymans [Fri, 8 Jan 2016 16:17:44 +0000 (17:17 +0100)]
audio-convert: simplify API

Simplify the API, we don't need the consumed and produced output
arguments. The caller needs to use the _get_in_frames/get_out_frames API
to check how much input is needed and how much output will be produced.

8 years agoaudio/video: Use G_GNUC_INTERNAL for internal functions
Sebastian Dröge [Fri, 8 Jan 2016 15:50:21 +0000 (17:50 +0200)]
audio/video: Use G_GNUC_INTERNAL for internal functions

8 years agoaudio: GstAudioChannelMix -> GstAudioChannelMixer
Wim Taymans [Fri, 8 Jan 2016 15:22:25 +0000 (16:22 +0100)]
audio: GstAudioChannelMix -> GstAudioChannelMixer

Rename the GstAudioChannelMix object to GstAudioChannelMixer because it
looks better and to avoid a conflict with a library in -bad.

8 years agoplaybin: Use the caps query instead of accept-caps to detect if a sink accepts caps
Sebastian Dröge [Thu, 7 Jan 2016 13:24:25 +0000 (15:24 +0200)]
playbin: Use the caps query instead of accept-caps to detect if a sink accepts caps

accept-caps is only for one element, caps query is recursive. Fixes playback
with totem and other situations.

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

8 years agovideopool: store videoinfo after choosing the biggest buffer size
Aurélien Zanelli [Wed, 6 Jan 2016 14:49:59 +0000 (15:49 +0100)]
videopool: store videoinfo after choosing the biggest buffer size

Otherwise, pool could be negotiated with a size which will be different
from the one used in allocation which is the GstVideoInfo.

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

8 years agovideotestsrc: add missing break in set_property switch case
Aurélien Zanelli [Wed, 6 Jan 2016 11:14:39 +0000 (12:14 +0100)]
videotestsrc: add missing break in set_property switch case

To avoid future issue when adding new properties.

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

8 years agotests: audioconvert: fix test compilation with clang
Koop Mast [Wed, 6 Jan 2016 01:04:31 +0000 (01:04 +0000)]
tests: audioconvert: fix test compilation with clang

With clang 3.7.1 on FreeBSD:
elements/audioconvert.c:650:12: error: shifting a negative signed value is
      undefined [-Werror,-Wshift-negative-value]
      (-32 << 16) + (1 << 15), (-32 << 16) - (1 << 15),
       ~~~ ^

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

8 years agotests: fix indentation of various unit tests
Tim-Philipp Müller [Wed, 6 Jan 2016 01:06:10 +0000 (01:06 +0000)]
tests: fix indentation of various unit tests

8 years agodocs: add new audio API
Tim-Philipp Müller [Tue, 5 Jan 2016 22:52:34 +0000 (22:52 +0000)]
docs: add new audio API

8 years agodocs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc
Tim-Philipp Müller [Sun, 3 Jan 2016 17:21:18 +0000 (17:21 +0000)]
docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc

gtk-doc can handle static inline functions just fine these days,
there's no need for this stuff any more.

8 years agoriff: Add missing closing parenthesis to GST_RIFF_WAVE_FORMAT_ANTEX_ADPCME
Sebastian Dröge [Sun, 3 Jan 2016 08:33:53 +0000 (10:33 +0200)]
riff: Add missing closing parenthesis to GST_RIFF_WAVE_FORMAT_ANTEX_ADPCME

Apparently this #define is unused.

8 years agoriff-ids: remove trailing whitespace
Stefan Sauer [Sat, 2 Jan 2016 22:29:22 +0000 (23:29 +0100)]
riff-ids: remove trailing whitespace

8 years agoriff-ids: fix two swapped ids
Stefan Sauer [Sat, 2 Jan 2016 22:27:44 +0000 (23:27 +0100)]
riff-ids: fix two swapped ids

For these fourcc ids the name and value is swapped. This was causing a warning
when registering the avi ids.