platform/upstream/gst-plugins-base.git
8 years agoaudio-resampler: make pluggable optimized functions
Wim Taymans [Tue, 12 Jan 2016 17:55:19 +0000 (18:55 +0100)]
audio-resampler: make pluggable optimized functions

Add support for x86 specialized functions and select them at runtime.

8 years agoaudio-resampler: combine functions
Wim Taymans [Tue, 12 Jan 2016 09:23:53 +0000 (10:23 +0100)]
audio-resampler: combine functions

8 years agodefs: update
Wim Taymans [Mon, 11 Jan 2016 15:25:02 +0000 (16:25 +0100)]
defs: update

8 years agoaudio-converter: simplify API
Wim Taymans [Tue, 5 Jan 2016 15:06:22 +0000 (16:06 +0100)]
audio-converter: simplify API

Remove the consumed/produced output fields from the resampler and
converter. Let the caler specify the right number of input/output
samples so we can be more optimal.
Use just one function to update the converter configuration.
Simplify some things internally.
Make it possible to use writable input as temp space in audioconvert.

8 years agoaudio-converter: more work on resampling
Wim Taymans [Mon, 4 Jan 2016 17:28:38 +0000 (18:28 +0100)]
audio-converter: more work on resampling

- Fix the resampler in the audio converter
- fix memory leaks

8 years agoaudio-converter: add resampler
Wim Taymans [Fri, 13 Nov 2015 14:32:29 +0000 (15:32 +0100)]
audio-converter: add resampler

Add a resampler to the processing chain when needed.
port the audio resampler to the new audioconverter library

8 years agowin32: update win32 exports for new API
Jan Schmidt [Thu, 24 Mar 2016 14:13:54 +0000 (01:13 +1100)]
win32: update win32 exports for new API

8 years agosubparse: WebVTT parsing support
Jan Schmidt [Mon, 7 Mar 2016 12:29:43 +0000 (23:29 +1100)]
subparse: WebVTT parsing support

WebVTT is a new subtitle format for HTML5 video. In this first
version of the parser the cue settings are parsed but only stored in
the internal parser state structure. Later on these settings could be
part of the GstBuffer metadata.

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

8 years agotypefind: Add a typefinder for WebVTT files
Jan Schmidt [Thu, 25 Feb 2016 15:58:26 +0000 (02:58 +1100)]
typefind: Add a typefinder for WebVTT files

8 years agotypefind: Reduce URI typefinder from MAX to LIKELY
Jan Schmidt [Thu, 25 Feb 2016 15:56:15 +0000 (02:56 +1100)]
typefind: Reduce URI typefinder from MAX to LIKELY

Don't claim maximum likelihood for anything that starts
with text that looks like a uri, it's too broad.

8 years agodecodebin2: Hold new buffering_post lock while posting msgs
Jan Schmidt [Thu, 24 Mar 2016 03:59:48 +0000 (14:59 +1100)]
decodebin2: Hold new buffering_post lock while posting msgs

There's a small window between decodebin choosing a buffering level
to post and another thread choosing a different buffering level
where things can race. Close that window by holding a new lock
that's only for posting buffering messages - like what was done
in multiqueue.

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

8 years agoaudiodecoder: avoid unnecessary gst_pad_has_current_caps() checks
Tim-Philipp Müller [Tue, 8 Mar 2016 19:22:18 +0000 (19:22 +0000)]
audiodecoder: avoid unnecessary gst_pad_has_current_caps() checks

No need to do this for each input buffer, we have the input caps
stored somewhere already.

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

8 years agocodec-utils: Add utilities for AAC and the AACHead header
Jimmy Ohn [Tue, 22 Mar 2016 02:25:49 +0000 (11:25 +0900)]
codec-utils: Add utilities for AAC and the AACHead header

Add utilities about the channels and sample rate for AAC.

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

8 years agodecodebin: Modify result of seekable in check_upstream_seekable function
Jimmy Ohn [Mon, 21 Mar 2016 07:06:20 +0000 (16:06 +0900)]
decodebin: Modify result of seekable in check_upstream_seekable function

In check_upstream_seekable function, it returns FALSE value even though
we already declare about the seekable variable. So, This patch return
result of seekable in check_upstream_seekable function.

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

8 years agobase: use new gst_element_class_add_static_pad_template()
Vineeth TM [Thu, 3 Mar 2016 07:46:24 +0000 (16:46 +0900)]
base: use new gst_element_class_add_static_pad_template()

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

8 years agortcpbuffer: Add API for APP packets
Stian Selnes [Tue, 6 Oct 2015 15:02:03 +0000 (17:02 +0200)]
rtcpbuffer: Add API for APP packets

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

8 years agortcpbuffer: Add profile-specific extension API.
Haakon Sporsheim [Tue, 29 Jul 2014 13:37:12 +0000 (15:37 +0200)]
rtcpbuffer: Add profile-specific extension API.

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

8 years agoBack to development
Sebastian Dröge [Thu, 24 Mar 2016 11:32:52 +0000 (13:32 +0200)]
Back to development

8 years agoRelease 1.8.0
Sebastian Dröge [Thu, 24 Mar 2016 10:19:23 +0000 (12:19 +0200)]
Release 1.8.0

8 years agoUpdate .po files
Sebastian Dröge [Thu, 24 Mar 2016 09:43:05 +0000 (11:43 +0200)]
Update .po files

8 years agoinstall-plugins: update documentation
Víctor Manuel Jáquez Leal [Tue, 8 Mar 2016 12:22:32 +0000 (13:22 +0100)]
install-plugins: update documentation

Use gst-inspect-1.0 instead of gst-inspect-0.10

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

8 years agoRelease 1.7.91
Sebastian Dröge [Tue, 15 Mar 2016 10:02:20 +0000 (12:02 +0200)]
Release 1.7.91

8 years agoUpdate .po files
Sebastian Dröge [Tue, 15 Mar 2016 09:48:09 +0000 (11:48 +0200)]
Update .po files

8 years agopo: Update translations
Sebastian Dröge [Tue, 15 Mar 2016 09:40:06 +0000 (11:40 +0200)]
po: Update translations

8 years agodecodebin: Shut down all elements explicitly to NULL state before freeing the decode...
Sebastian Dröge [Mon, 14 Mar 2016 15:06:53 +0000 (17:06 +0200)]
decodebin: Shut down all elements explicitly to NULL state before freeing the decode chain

Due to transient locked state during autoplugging, some elements might be
ignored by the GstBin::change_state() and might still be running. Which could
then cause pad-added and similar accessing decodebin state that does not exist
anymore, and crash.

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

8 years agomultihandlesink: Remove useless streamheader storage
Sebastian Dröge [Sun, 13 Mar 2016 11:59:25 +0000 (13:59 +0200)]
multihandlesink: Remove useless streamheader storage

We don't do anything with it but always get them from the caps anyway, so
stop storing them and having complicated logic around that.

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

8 years agomultihandlesink: Only don't send HEADER buffers normally if they are actually streamh...
Sebastian Dröge [Sun, 13 Mar 2016 08:51:30 +0000 (10:51 +0200)]
multihandlesink: Only don't send HEADER buffers normally if they are actually streamheaders from the caps

And also consider HEADER buffers without DELTA_UNIT flag as sync points. This
fixes sync-mode=2 with mpegtsmux for example, which has no streamheaders but
puts the HEADER flag on its keyframes.

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

8 years agodecodebin: expose_pad() is always called with lock==TRUE, simplify code
Sebastian Dröge [Sat, 12 Mar 2016 17:47:47 +0000 (19:47 +0200)]
decodebin: expose_pad() is always called with lock==TRUE, simplify code

This basically reverts ee44337fc3e3030a5155d28b3561af157e6c6003 .

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

8 years agodecodebin: Don't check twice if the decode chain is complete in pad_added_cb()
Sebastian Dröge [Sat, 12 Mar 2016 17:46:44 +0000 (19:46 +0200)]
decodebin: Don't check twice if the decode chain is complete in pad_added_cb()

expose_pad() already does the same.

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

8 years agodecodebin: Don't hold EXPOSE_LOCK in type_found() outside the stream lock
Sebastian Dröge [Sat, 12 Mar 2016 17:45:26 +0000 (19:45 +0200)]
decodebin: Don't hold EXPOSE_LOCK in type_found() outside the stream lock

In other places we lock it the other way around, leading to possible
deadlocks. Also this will deadlock if analyze_pad() causes a new element to be
autoplugged that adds new pads on itself when its state is changed.

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

8 years agotcp: Remove unused file
Sebastian Dröge [Sun, 13 Mar 2016 08:58:54 +0000 (10:58 +0200)]
tcp: Remove unused file

It's a copy of multihandlesink, but completely outdated. Let's get rid of it
before it gets even more outdated.

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

8 years agobasetextoverlay: Add new properties and alignment type for unclamped absolute positions
Lubosz Sarnecki [Tue, 8 Mar 2016 18:22:34 +0000 (19:22 +0100)]
basetextoverlay: Add new properties and alignment type for unclamped absolute positions

Introduces [x-absolute, y-absolute] properties
for positioning in +/- MAX_DOUBLE range.

Adds new (h/v)alignment type "absolute" where coordinates
map the text area to be exactly inside of video canvas for [0, 0] - [1, 1]:

[0, 0]: Top-Lefts of video and text are aligned
[0.5, 0.5]: Centers are aligned
[1, 1]: Bottom-Rights are aligned

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

8 years agoRevert "textoverlay: Do not limit positioning to video area."
Tim-Philipp Müller [Fri, 11 Mar 2016 13:15:03 +0000 (13:15 +0000)]
Revert "textoverlay: Do not limit positioning to video area."

This reverts commit a48daf6dd8cb69b4260a03aa7f3cdf227d4f1602.

This changed behaviour in a way that's not always
backwards-compatible.

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

8 years agowin32: Add a module definitions file for gstfft
Nirbheek Chauhan [Wed, 24 Feb 2016 23:37:04 +0000 (05:07 +0530)]
win32: Add a module definitions file for gstfft

8 years agotheora: fix performance category initialisation
Tim-Philipp Müller [Wed, 9 Mar 2016 09:56:52 +0000 (09:56 +0000)]
theora: fix performance category initialisation

Remove unused _register() functions and look up the performance
debug category in a function that's actually called at some point.

8 years agoaudio-channel-mixer: improve non-interleaved flags
Wim Taymans [Fri, 4 Mar 2016 16:13:59 +0000 (17:13 +0100)]
audio-channel-mixer: improve non-interleaved flags

Make separate flags for non-interleaved input and output because the
channel mixer should be able to convert between the two layouts in the
future.

8 years agogst-play: remove peculiar setting of invalid -v property
Vincent Penquerc'h [Fri, 4 Mar 2016 12:12:56 +0000 (12:12 +0000)]
gst-play: remove peculiar setting of invalid -v property

8 years agooggdemux: fix chaining causing running time to restart from 0
Vincent Penquerc'h [Fri, 5 Feb 2016 14:14:37 +0000 (14:14 +0000)]
oggdemux: fix chaining causing running time to restart from 0

This fixes:
gst-play-1.0 http://relay-nyc.gameowls.com:8000/chiptune.ogg

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

8 years agoopusdec: plug caps leak
Havard Graff [Thu, 3 Mar 2016 19:10:17 +0000 (20:10 +0100)]
opusdec: plug caps leak

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

8 years agoRevert "playbin: use avdeinterlace for deinterlacing until deinterlace is ported"
Sebastian Dröge [Wed, 2 Mar 2016 18:47:42 +0000 (20:47 +0200)]
Revert "playbin: use avdeinterlace for deinterlacing until deinterlace is ported"

This reverts commit 0615794300234e3efbcb49a524efdee11171ab4c.

deinterlace was ported at some point in the last 4 years and has better video
format support, and especially better negotiation than avdeinterlace. Having
avdeinterlace but not deinterlace causes various problems in zerocopy
scenarios.

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

8 years agoencodebin: Make dispose() function safe to be called multiple times
Sebastian Dröge [Wed, 2 Mar 2016 16:47:23 +0000 (18:47 +0200)]
encodebin: Make dispose() function safe to be called multiple times

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