platform/upstream/gstreamer.git
6 years agovalgrind supps: ignore bash leaks
Mathieu Duponchelle [Thu, 12 Apr 2018 18:15:01 +0000 (20:15 +0200)]
valgrind supps: ignore bash leaks

gst_install_plugins_* can instantiate bash

6 years agourisourcebin: Avoid unreffing a pad we are not owning
Thibault Saunier [Tue, 10 Apr 2018 12:31:32 +0000 (09:31 -0300)]
urisourcebin: Avoid unreffing a pad we are not owning

expose_output_pad takes ownership of the pad.

6 years agouridecodebin3: free_play_items when READY_TO_PAUSED failed.
Mathieu Duponchelle [Thu, 12 Apr 2018 17:33:18 +0000 (19:33 +0200)]
uridecodebin3: free_play_items when READY_TO_PAUSED failed.

We will never go through the PAUSED_TO_READY transition if
that is the case, and thus never free the play items.

6 years agoplaybin3: fix leak of recursive mutex
Tim-Philipp Müller [Thu, 12 Apr 2018 17:12:49 +0000 (18:12 +0100)]
playbin3: fix leak of recursive mutex

6 years agovalgrind suppressions: ignore XInitThreads leaks
Mathieu Duponchelle [Thu, 12 Apr 2018 16:50:35 +0000 (18:50 +0200)]
valgrind suppressions: ignore XInitThreads leaks

As we load that symbol dynamically, valgrind gets confused
when it leaks and reports the leak against an unrelated library
and an unknown (??) symbol.

To address that, put the loading and calling of that symbol
in a separate function, and ignore any malloc leak happening
in that function.

6 years agovalgrind supps: ignore leak in XextCreateExtension
Mathieu Duponchelle [Thu, 12 Apr 2018 16:44:12 +0000 (18:44 +0200)]
valgrind supps: ignore leak in XextCreateExtension

Searching for that specific function in other suppression files
on the Internet shows a few projects ignoring it

eg: https://github.com/XCSoar/XCSoar/blob/master/valgrind.suppressions

6 years agovorbisenc: do not map input buffer in WRITE mode
Mathieu Duponchelle [Wed, 11 Apr 2018 20:56:34 +0000 (22:56 +0200)]
vorbisenc: do not map input buffer in WRITE mode

6 years agomeson: port tests/icles
Mathieu Duponchelle [Thu, 12 Apr 2018 13:02:51 +0000 (15:02 +0200)]
meson: port tests/icles

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

6 years agoaudiovisualizer: Only fixate pixel-aspect-ratio if the field exists
Sebastian Dröge [Wed, 11 Apr 2018 19:40:23 +0000 (21:40 +0200)]
audiovisualizer: Only fixate pixel-aspect-ratio if the field exists

It's optional.

6 years agoappsrc: Documentation fix in gst_app_src_push_sample_internal
Vivia Nikolaidou [Wed, 11 Apr 2018 09:18:55 +0000 (12:18 +0300)]
appsrc: Documentation fix in gst_app_src_push_sample_internal

Make it clear that it doesn't take ownership of the sample.

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

6 years agoaudiovisualizer: Fixate pixel-aspect-ratio to the closest value to 1/1
Sebastian Dröge [Tue, 10 Apr 2018 19:18:11 +0000 (21:18 +0200)]
audiovisualizer: Fixate pixel-aspect-ratio to the closest value to 1/1

6 years agoplayback: Add support for CEA 608/708 CC overlay elements
Edward Hervey [Mon, 12 Mar 2018 09:53:05 +0000 (10:53 +0100)]
playback: Add support for CEA 608/708 CC overlay elements

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

6 years agovideo: Add support for VANC and Closed Caption
Edward Hervey [Thu, 15 Feb 2018 12:59:56 +0000 (13:59 +0100)]
video: Add support for VANC and Closed Caption

This commits add common elements for Ancillary Data and Closed
Caption support in GStreamer:

* A VBI (Video Blanking Interval) parser that supports detection
  and extraction of Ancillary data according to the SMPTE S291M
  specification. Currently supports the v210 and UYVY video
  formats.

* A new GstMeta for Closed Caption : GstVideoCaptionMeta. This
  supports the two types of CC : CEA-608 and CEA-708, along with
  the 4 different ways they can be transported (other systems
  are super-set of those).

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

6 years agopbutils: Add Closed Caption caps description
Edward Hervey [Wed, 31 Jan 2018 14:09:36 +0000 (15:09 +0100)]
pbutils: Add Closed Caption caps description

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

6 years agoaudiobasesrc: posting errors should be always be safe
Nirbheek Chauhan [Mon, 9 Apr 2018 11:54:30 +0000 (17:24 +0530)]
audiobasesrc: posting errors should be always be safe

Don't try to signal an error in the ringbuffer if it hasn't been
allocated yet.

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

6 years agoaudioringbuffer: Don't spam INFO for every buffer
Nirbheek Chauhan [Sat, 7 Apr 2018 05:37:45 +0000 (11:07 +0530)]
audioringbuffer: Don't spam INFO for every buffer

This makes GST_DEBUG=4 outputs too spammy, and such frequent messages
are meant to go into DEBUG or TRACE anyway.

6 years agotests: Enable tests for videodecoder
Zeeshan Ali [Thu, 5 Apr 2018 14:41:57 +0000 (16:41 +0200)]
tests: Enable tests for videodecoder

The tests pass fine here so don't see any reason to keep them disabled.

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

6 years agoencodebin: Always respect encoding profile preset factory name
Thibault Saunier [Wed, 4 Apr 2018 22:30:55 +0000 (19:30 -0300)]
encodebin: Always respect encoding profile preset factory name

And fail if it is not present.

6 years agoencodebin: Inform about missing elements in the "text" error field
Thibault Saunier [Sat, 24 Mar 2018 18:51:20 +0000 (15:51 -0300)]
encodebin: Inform about missing elements in the "text" error field

Instead of the debug field, that information should be directly
exposed to end users.

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

6 years agovideo: Fix/Add section documentation
Edward Hervey [Mon, 2 Apr 2018 13:08:48 +0000 (15:08 +0200)]
video: Fix/Add section documentation

6 years agodocs/libs: The big spring cleanup
Edward Hervey [Mon, 2 Apr 2018 06:45:04 +0000 (08:45 +0200)]
docs/libs: The big spring cleanup

* Explicitely specify which headers aren't to be included in gtkdoc-scan
  This is essentially all the headers that are not installed and only
  for internal/local usage. This also includes the orc-generated headers.
* Remove all symbols/sections that are no longer present (due to accurately
  scanning only the headers we need).
* Add or expose sections which weren't previously exposed
* Make sure the "unified" library headers (ex: gst/video/video.h) are used
  everywhere applicable. Only use the specific headers where applicable
  (such as the GL-implementation-specific objects)
* Add all documentation which was not previously exposed in the right sections
* Update 'types' file to get as many runtime information as possible

This brings down the number of unused symbols to 15 (from over 300).

6 years agolibs: Documentation cleanup
Edward Hervey [Mon, 2 Apr 2018 06:34:58 +0000 (08:34 +0200)]
libs: Documentation cleanup

* Fix wrong naming, wrong types and typos
* Add missing sections
* Add missing documentation for entries
* Explicitely mark private structure entries
* Remove items that never existed

6 years agotools: Fix discoverer deprecation
Edward Hervey [Mon, 2 Apr 2018 06:43:17 +0000 (08:43 +0200)]
tools: Fix discoverer deprecation

The only information provided by "misc" was the missing plugins which
is already handled with another API

6 years agolibs: Add deprecation guard
Edward Hervey [Mon, 2 Apr 2018 06:42:01 +0000 (08:42 +0200)]
libs: Add deprecation guard

Those functions have been marked as deprecated

6 years agocheck: Remove old structures from ABI check
Edward Hervey [Mon, 2 Apr 2018 06:33:58 +0000 (08:33 +0200)]
check: Remove old structures from ABI check

Just in case someone still tries to run it on 32bit osx

6 years agovideorate: In reverse playback mode, don't output the first buffer with ts=segment...
Sebastian Dröge [Fri, 28 Apr 2017 12:24:43 +0000 (15:24 +0300)]
videorate: In reverse playback mode, don't output the first buffer with ts=segment.stop

Instead go backwards before segment.stop based on the framerate or the
next buffers end timestamp. Otherwise the first buffer will usually be
dropped because outside the segment.

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

6 years agogl: pick up GstVideo-1.0.gir from local build dir
Tim-Philipp Müller [Tue, 27 Mar 2018 09:43:16 +0000 (10:43 +0100)]
gl: pick up GstVideo-1.0.gir from local build dir

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

6 years agotools: play: fix leaving STDIN in non-blocking mode after exit
Antonio Ospite [Thu, 22 Mar 2018 10:12:20 +0000 (11:12 +0100)]
tools: play: fix leaving STDIN in non-blocking mode after exit

gst-play-1.0 sets STDIN to non-blocking mode to have the input
characters read as soon as they arrive.

However, when gst_play_kb_set_key_handler() gets called from
restore_terminal() it forgets to restore the STDIN blocking status.

This can result in broken behavior for cli command executed in the same
terminal after gst-play-1.0 exited.

It turns out that putting STDIN in non-blocking mode is not even the
proper way to achieve the desired effect, instead VMIN and VTIME in
struct termios should be set to 0.

Let's do that, and don't mess with the STDIN blocking mode now that it's
not necessary.

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

6 years agoencoding-profile: fix gi annotation for gst_encoding_profile_find
Thiago Santos [Sun, 18 Mar 2018 18:15:55 +0000 (11:15 -0700)]
encoding-profile: fix gi annotation for gst_encoding_profile_find

6 years agogl: Disable glmixerbin for the time being too
Sebastian Dröge [Sun, 25 Mar 2018 09:48:12 +0000 (12:48 +0300)]
gl: Disable glmixerbin for the time being too

Otherwise we have one copy in gst-plugins-bad and one (unused) here,
which makes static linking unhappy.

6 years agoencodebin: Use gst_object_unref() instead of g_object_unref()
Seungha Yang [Sat, 24 Mar 2018 12:35:07 +0000 (21:35 +0900)]
encodebin: Use gst_object_unref() instead of g_object_unref()

... for better debugging (e.g., tracing refcount)

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

6 years agoaudio-aggregator: Check return values
Edward Hervey [Fri, 23 Mar 2018 13:24:38 +0000 (14:24 +0100)]
audio-aggregator: Check return values

And copy over already-parsed information

CID #1427140

6 years agomeson: libs: use gnome.mkenums_simple() to generate enumtypes files
Alessandro Decina [Thu, 20 Jul 2017 04:15:30 +0000 (14:15 +1000)]
meson: libs: use gnome.mkenums_simple() to generate enumtypes files

This way we no longer need custom wrapper scripts or template files.

6 years agogl/gbm: Initialize window handle (= gbm surface) like other window systems
Carlos Rafael Giani [Sun, 4 Mar 2018 15:41:14 +0000 (16:41 +0100)]
gl/gbm: Initialize window handle (= gbm surface) like other window systems

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

6 years agoviv-fb: Include gstglfuncs.h to fix cross compilation errors
Carlos Rafael Giani [Thu, 22 Mar 2018 06:56:28 +0000 (07:56 +0100)]
viv-fb: Include gstglfuncs.h to fix cross compilation errors

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

6 years agodmabufallocator: Fix build if LINUX_DMA_BUF_H is missing
Nicolas Dufresne [Wed, 21 Mar 2018 22:15:49 +0000 (18:15 -0400)]
dmabufallocator: Fix build if LINUX_DMA_BUF_H is missing

6 years agoallocators: Add DMABuf synchronization
Nicolas Dufresne [Sat, 10 Mar 2018 02:24:52 +0000 (21:24 -0500)]
allocators: Add DMABuf synchronization

When doing CPU Access, some architecture may require caches to be
synchronize before use. Otherwise, some visual artifact may be
visible, as the CPU modification may still resides in cache.

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

6 years agovideo: Set correct value in g-i annotations for tile related mask constants
Sebastian Dröge [Wed, 21 Mar 2018 08:27:04 +0000 (10:27 +0200)]
video: Set correct value in g-i annotations for tile related mask constants

6 years agovideo: Include gstvideoaffinetransformationmeta.h in video.h
Sebastian Dröge [Wed, 21 Mar 2018 08:25:43 +0000 (10:25 +0200)]
video: Include gstvideoaffinetransformationmeta.h in video.h

6 years agopbutils: Include gstaudiovisualizer.h in pbutils.h
Sebastian Dröge [Wed, 21 Mar 2018 08:21:41 +0000 (10:21 +0200)]
pbutils: Include gstaudiovisualizer.h in pbutils.h

6 years agoBack to development
Tim-Philipp Müller [Tue, 20 Mar 2018 09:15:37 +0000 (09:15 +0000)]
Back to development

6 years agoRelease 1.14.0
Tim-Philipp Müller [Mon, 19 Mar 2018 20:15:02 +0000 (20:15 +0000)]
Release 1.14.0

6 years agoUpdate docs
Tim-Philipp Müller [Mon, 19 Mar 2018 20:15:02 +0000 (20:15 +0000)]
Update docs

6 years agooggstream: protect against out-of-bounds read
Edward Hervey [Sat, 17 Mar 2018 05:33:38 +0000 (06:33 +0100)]
oggstream: protect against out-of-bounds read

We need at least 17 bytes of data for a valid flac header

oss-fuzz #6974

6 years agotests: audiomixer: remove unistd.h include
Tim-Philipp Müller [Fri, 16 Mar 2018 09:28:44 +0000 (09:28 +0000)]
tests: audiomixer: remove unistd.h include

Not needed and breaks the build with MVSC.

6 years agoaudiostreamalign: Mark the whole type as new in 1.14
Sebastian Dröge [Thu, 15 Mar 2018 07:58:11 +0000 (09:58 +0200)]
audiostreamalign: Mark the whole type as new in 1.14

6 years agopkg-config: Add orc-0.4 to Requires.private of gstreamer-audio and gstreamer-video
Sebastian Dröge [Tue, 13 Mar 2018 21:09:58 +0000 (23:09 +0200)]
pkg-config: Add orc-0.4 to Requires.private of gstreamer-audio and gstreamer-video

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

6 years agoRelease 1.13.91
Tim-Philipp Müller [Tue, 13 Mar 2018 19:13:18 +0000 (19:13 +0000)]
Release 1.13.91

6 years agoUpdate docs
Tim-Philipp Müller [Tue, 13 Mar 2018 19:13:18 +0000 (19:13 +0000)]
Update docs

6 years agomeson: install new audio-prelude.h
Tim-Philipp Müller [Tue, 13 Mar 2018 13:49:42 +0000 (13:49 +0000)]
meson: install new audio-prelude.h

6 years agodocs: update api decorators to ignore
Tim-Philipp Müller [Tue, 13 Mar 2018 11:56:59 +0000 (11:56 +0000)]
docs: update api decorators to ignore

6 years agovideo: GST_EXPORT -> GST_VIDEO_API
Tim-Philipp Müller [Tue, 13 Mar 2018 11:48:31 +0000 (11:48 +0000)]
video: GST_EXPORT -> GST_VIDEO_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agotag: GST_EXPORT -> GST_TAG_API
Tim-Philipp Müller [Tue, 13 Mar 2018 11:32:02 +0000 (11:32 +0000)]
tag: GST_EXPORT -> GST_TAG_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agosdp: GST_EXPORT -> GST_SDP_API
Tim-Philipp Müller [Tue, 13 Mar 2018 11:27:11 +0000 (11:27 +0000)]
sdp: GST_EXPORT -> GST_SDP_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agortsp: GST_EXPORT -> GST_RTSP_API
Tim-Philipp Müller [Tue, 13 Mar 2018 11:23:21 +0000 (11:23 +0000)]
rtsp: GST_EXPORT -> GST_RTSP_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agortp: GST_EXPORT -> GST_RTP_API
Tim-Philipp Müller [Tue, 13 Mar 2018 11:17:58 +0000 (11:17 +0000)]
rtp: GST_EXPORT -> GST_RTP_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoriff: GST_EXPORT -> GST_RIFF_API
Tim-Philipp Müller [Tue, 13 Mar 2018 11:13:08 +0000 (11:13 +0000)]
riff: GST_EXPORT -> GST_RIFF_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agopbutils: GST_EXPORT -> GST_PBUTILS_API
Tim-Philipp Müller [Tue, 13 Mar 2018 11:08:34 +0000 (11:08 +0000)]
pbutils: GST_EXPORT -> GST_PBUTILS_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agogl: GST_EXPORT -> GST_GL_API
Tim-Philipp Müller [Tue, 13 Mar 2018 10:57:15 +0000 (10:57 +0000)]
gl: GST_EXPORT -> GST_GL_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agofft: GST_EXPORT -> GST_FFT_API
Tim-Philipp Müller [Tue, 13 Mar 2018 10:43:20 +0000 (10:43 +0000)]
fft: GST_EXPORT -> GST_FFT_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoaudio: GST_EXPORT -> GST_AUDIO_API
Tim-Philipp Müller [Tue, 13 Mar 2018 10:36:56 +0000 (10:36 +0000)]
audio: GST_EXPORT -> GST_AUDIO_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoapp: GST_EXPORT -> GST_APP_API
Tim-Philipp Müller [Tue, 13 Mar 2018 10:28:21 +0000 (10:28 +0000)]
app: GST_EXPORT -> GST_APP_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoallocators: GST_EXPORT -> GST_ALLOCATORS_API
Tim-Philipp Müller [Tue, 13 Mar 2018 10:19:16 +0000 (10:19 +0000)]
allocators: GST_EXPORT -> GST_ALLOCATORS_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.

6 years agoaudioaggregator: fix channel-mask negotiation
Mathieu Duponchelle [Mon, 12 Mar 2018 15:23:02 +0000 (16:23 +0100)]
audioaggregator: fix channel-mask negotiation

When outputting more than two channels, a channel-mask has to be
specified in the output caps.

We follow the same heuristic as other cases, when downstream
does not specify a channel-mask, we use that of the first
configured pad, and if there was none we generate a fallback
mask.

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

6 years agoplayback: Remove subtitle-encoding property on uridecodebin3
Edward Hervey [Mon, 12 Mar 2018 12:38:07 +0000 (13:38 +0100)]
playback: Remove subtitle-encoding property on uridecodebin3

For now, until we found a more future-proof solution

6 years agodocs: video: fix typo and add since marker
Tim-Philipp Müller [Sun, 11 Mar 2018 22:57:02 +0000 (22:57 +0000)]
docs: video: fix typo and add since marker

6 years agodocs: libs: add another missing symbol
Tim-Philipp Müller [Sun, 11 Mar 2018 22:45:32 +0000 (22:45 +0000)]
docs: libs: add another missing symbol

6 years agodocs: add video region of interest add/get parameter api to docs
Tim-Philipp Müller [Sun, 11 Mar 2018 19:06:45 +0000 (19:06 +0000)]
docs: add video region of interest add/get parameter api to docs

6 years agoaudio: Add audioaggregator.h in audio.h
Thibault Saunier [Sun, 11 Mar 2018 15:13:32 +0000 (12:13 -0300)]
audio: Add audioaggregator.h in audio.h

6 years agodocs: add GstPhysMemoryAllocator to docs
Tim-Philipp Müller [Thu, 8 Mar 2018 01:01:53 +0000 (01:01 +0000)]
docs: add GstPhysMemoryAllocator to docs

6 years agoRevert "alsasrc: lock calls to snd_pcm_delay() with mutex as in alsasink"
Tim-Philipp Müller [Wed, 7 Mar 2018 18:50:05 +0000 (18:50 +0000)]
Revert "alsasrc: lock calls to snd_pcm_delay() with mutex as in alsasink"

This reverts commit 4f88125b3ddc15367d528e850cc27739f5bb27fa.

This seems to have undesirable side-effects and needs more
investigation first.

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

6 years agogl: only enable gbm backend if gudev is available
Tim-Philipp Müller [Mon, 5 Mar 2018 19:57:55 +0000 (19:57 +0000)]
gl: only enable gbm backend if gudev is available

gudev/gudev.h is included unconditionally, so only enable
the gbm backend if gudev was actually found. This also
matches the meson build behaviour.

Should fix build on GNOME SDK builder.

6 years agoRelease 1.13.90
Tim-Philipp Müller [Sat, 3 Mar 2018 22:07:15 +0000 (22:07 +0000)]
Release 1.13.90

6 years agoUpdate docs
Tim-Philipp Müller [Sat, 3 Mar 2018 22:07:15 +0000 (22:07 +0000)]
Update docs

6 years agopkgconfig: Add private zlib dependency for libgsttag
Edward Hervey [Fri, 2 Mar 2018 14:21:25 +0000 (15:21 +0100)]
pkgconfig: Add private zlib dependency for libgsttag

Fixes issues with static application builds (which might not know
they need to link with zlib when using a libgsttag that was compiled
with it).

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

6 years agomeson: enable more warnings
Mathieu Duponchelle [Thu, 1 Mar 2018 17:07:37 +0000 (18:07 +0100)]
meson: enable more warnings

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

6 years agovideodecoder: Reset QoS time after pushing segment
Nicolas Dufresne [Thu, 1 Mar 2018 04:12:39 +0000 (23:12 -0500)]
videodecoder: Reset QoS time after pushing segment

This fixes playbin gapless playback. An ancient QoS time was used and
would lead to all frames being dropped.

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

6 years agoPort to latest GstAggregator segment API
Mathieu Duponchelle [Wed, 28 Feb 2018 23:34:06 +0000 (00:34 +0100)]
Port to latest GstAggregator segment API

The aggregator segment is now exposed on the src pad

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

6 years agoaudioaggregator: remove GstAudioAggregator->info
Mathieu Duponchelle [Wed, 28 Feb 2018 21:12:57 +0000 (22:12 +0100)]
audioaggregator: remove GstAudioAggregator->info

As we now require subclasses to use a subclass of
GstAudioAggregatorPad, we can reuse its info field

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

6 years agotests: tags: add unit test for ID3 v2.4 extended headers
Tim-Philipp Müller [Thu, 1 Mar 2018 12:43:25 +0000 (12:43 +0000)]
tests: tags: add unit test for ID3 v2.4 extended headers

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

6 years agoid3v2: re-fix handling of v2.4 extended headers
Edward Hervey [Mon, 12 Feb 2018 15:26:01 +0000 (16:26 +0100)]
id3v2: re-fix handling of v2.4 extended headers

The various id3v2 specs handle the extended header sizes differently
(because hey, it wouldn't be fun otherwise).

http://id3.org/id3v2.3.0 states:
"Where the 'Extended header size', currently 6 or 10 bytes, excludes
 itself."

http://id3.org/id3v2.4.0-structure states:
  Extended header size   4 * %0xxxxxxx
     Number of flag bytes       $01
     Extended Flags             $xx

   Where the 'Extended header size' is the size of the whole extended
   header, stored as a 32 bit synchsafe integer. An extended header can
   thus never have a size of fewer than six bytes.

So in id3v2.4.0 it's the *whole* extended header size (a-la ISOBMFF
atom), whereas in id3v2.3.0 it's the extended header size *excluding*
those 4 initial bytes.

And for other versions, god knows..

Fixes regression introduced in commit da607005.

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

6 years agoaudioaggregator: refactor conversion API
Mathieu Duponchelle [Wed, 28 Feb 2018 17:13:10 +0000 (18:13 +0100)]
audioaggregator: refactor conversion API

For the rationale, see:

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

Also test audiomixer conversion of current output buffer

6 years agoglcolorconvert: Fix a typo in a debug message
Jan Schmidt [Tue, 27 Feb 2018 12:34:03 +0000 (23:34 +1100)]
glcolorconvert: Fix a typo in a debug message

6 years agoglfilter: Support non-2D texture targets
Jan Schmidt [Tue, 27 Feb 2018 07:28:16 +0000 (18:28 +1100)]
glfilter: Support non-2D texture targets

Allow for sub-classes to change pad templates to
support other texture targets, and bind input textures
accordingly.

When setting the caps, also store the texture target.

By default, glfilter only reports 2D texture targets
in the default caps, but sub-classes can change that
and it would be nice if they could easily find out
which texture targets were negotiated.

This adds 2 fields to the public struct, but since
it's unreleased -base API, it's not an ABI break.

6 years agoaudioaggregator: Document that the pad's audio info is read-only and needs the object...
Sebastian Dröge [Wed, 28 Feb 2018 13:22:38 +0000 (15:22 +0200)]
audioaggregator: Document that the pad's audio info is read-only and needs the object lock

Also fix indentation in the header a bit.

6 years agom4: fix variable value access
Víctor Manuel Jáquez Leal [Tue, 27 Feb 2018 20:07:33 +0000 (14:07 -0600)]
m4: fix variable value access

6 years agoroi-meta: duplicate params when copying meta
Víctor Manuel Jáquez Leal [Tue, 27 Feb 2018 15:48:23 +0000 (09:48 -0600)]
roi-meta: duplicate params when copying meta

When copying the meta the params list should be copy too into the
new meta.

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

6 years agomeson: Don't install GL GBM headers
Nicolas Dufresne [Tue, 27 Feb 2018 18:14:26 +0000 (13:14 -0500)]
meson: Don't install GL GBM headers

6 years agogl: Move DRM_CFLAGS into gst-gl.m4
Nicolas Dufresne [Tue, 27 Feb 2018 18:12:59 +0000 (13:12 -0500)]
gl: Move DRM_CFLAGS into gst-gl.m4

6 years agogl: Add missing gbm directory to dist dir
Nicolas Dufresne [Mon, 26 Feb 2018 12:46:26 +0000 (07:46 -0500)]
gl: Add missing gbm directory to dist dir

This fixes make distcheck

6 years agogl: Add DRM cflags
Carlos Rafael Giani [Sun, 25 Feb 2018 13:16:44 +0000 (14:16 +0100)]
gl: Add DRM cflags

This prevents cross compilation errors like:

usr/include/xf86drm.h:40:10: fatal error: drm.h: No such file or directory

These are caused because gstgldisplay_gbm.h includes xf86drm.h .

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

6 years agopbutils: Fix compilation of last commit
Sebastian Dröge [Mon, 26 Feb 2018 09:55:46 +0000 (11:55 +0200)]
pbutils: Fix compilation of last commit

6 years agopbutils: Move locale dir initialization to a separate function and do lazy initialization
Thiago Santos [Sun, 25 Feb 2018 18:52:46 +0000 (10:52 -0800)]
pbutils: Move locale dir initialization to a separate function and do lazy initialization

It is the only thing gst_pb_utils_init()  does and it could be
automatically called from the places in pbutils it is needed.

After 1.14 we should deprecate gst_pb_utils_init().

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

6 years agogl: Add meson support for GBM backend
Nicolas Dufresne [Fri, 23 Feb 2018 21:39:32 +0000 (16:39 -0500)]
gl: Add meson support for GBM backend

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

6 years agogl: Add Mesa3D GBM backend
Carlos Rafael Giani [Fri, 23 Feb 2018 18:59:45 +0000 (19:59 +0100)]
gl: Add Mesa3D GBM backend

This makes it possible to use the GStreamer OpenGL elements without a
windowing system if a libdrm- and Mesa3D-supported GPU is present

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

6 years agoconfigure: Add configure checks for libdrm and gudev
Carlos Rafael Giani [Fri, 23 Feb 2018 16:09:49 +0000 (17:09 +0100)]
configure: Add configure checks for libdrm and gudev

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

6 years agoglimagesink: Correct PAR in output caps when transforming
Jan Schmidt [Fri, 23 Feb 2018 08:36:42 +0000 (19:36 +1100)]
glimagesink: Correct PAR in output caps when transforming

When doing a 3D/multiview transformation and rescaling to
match the output window size, the resulting PAR may
not match the input any more and needs recalculating,
or else the GstSample reported to client-draw has the
wrong PAR.

6 years agoroi-meta: Fix bad doc comment syntax
Nicolas Dufresne [Thu, 22 Feb 2018 21:11:20 +0000 (16:11 -0500)]
roi-meta: Fix bad doc comment syntax

6 years agovideometa: add support for downstream parameters to ROI meta
Guillaume Desmottes [Fri, 9 Feb 2018 13:45:08 +0000 (14:45 +0100)]
videometa: add support for downstream parameters to ROI meta

The current GstVideoRegionOfInterestMeta API allows elements to detect
and name ROI but doesn't tell anything about how this information is
meant to be consumed by downstream elements.
Typically, encoders may want to tweak their encoding settings for a
given ROI to increase or decrease their quality.
Each encoder has its own set of settings so that's not something that
can be standardized.

This patch adds encoder-specific parameters to the meta which can be
used to configure the encoding of a specific ROI.

A typical use case would be: source ! roi-detector ! encoder
with a buffer probe on the encoder sink pad set by the application.
Thanks to the probe the application will be able to tell to the encoder
how this specific region should be encoded.

Users could also develop their specific roi detectors meant to be used with a
specific encoder and directly putting the encoder parameters when
detecting the ROI.

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

6 years agortpbuffer.h: Add new RTPBuffer flags
Mikhail Fludkov [Fri, 17 Nov 2017 01:05:33 +0000 (02:05 +0100)]
rtpbuffer.h: Add new RTPBuffer flags

These flags will be used for Forward Error Correction purposes

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