platform/upstream/gstreamer.git
5 years agocompositor: fix compiler warning due to c99-ism
Tim-Philipp Müller [Mon, 24 Jun 2019 09:44:29 +0000 (09:44 +0000)]
compositor: fix compiler warning due to c99-ism

5 years agoglupload: Keep track of cached EGLImage texture format
Philippe Normand [Sun, 23 Jun 2019 10:34:49 +0000 (11:34 +0100)]
glupload: Keep track of cached EGLImage texture format

This patch fixes the following critical warning:

CRITICAL **: 11:33:32.843: Unknown GL format 0x0 provided

It would happen during the setup of a second pipeline involving the DMABuf
uploader, typically with a v4l2src element. The warning was raised because the
uploader had a cached EGLImage already filled but the formats were not
synchronized accordingly.

5 years agovideo-info: parse field-order for all interleaved formats
Marco Felsch [Mon, 19 Nov 2018 16:19:33 +0000 (17:19 +0100)]
video-info: parse field-order for all interleaved formats

The "field-order" is related for all interlace_mode modes except the
"progressive" mode. So instead of or'ing each mode we can use the
already supported GST_VIDEO_INFO_IS_INTERLACED macro.

5 years agoglimagesink: add support for P010 variants
Haihao Xiang [Thu, 13 Jun 2019 05:07:06 +0000 (13:07 +0800)]
glimagesink: add support for P010 variants

This makes a pipeline below works:

little endian:
gst-launch-1.0 videotestsrc ! video/x-raw,format=P010_10LE ! glimagesink

big endian:
gst-launch-1.0 videotestsrc ! video/x-raw,format=P010_10BE ! glimagesink

5 years agoglcolorconvert: rename the NV12/NV12 shader to semi planar
Haihao Xiang [Tue, 18 Jun 2019 08:14:33 +0000 (16:14 +0800)]
glcolorconvert: rename the NV12/NV12 shader to semi planar

This shader can be used for other semi planar formats, e.g. P010_10LE

5 years agoplaysink: Set ts-offset to text sink.
Song Bing [Mon, 17 Jun 2019 23:46:21 +0000 (16:46 -0700)]
playsink: Set ts-offset to text sink.

Find right text sink to set the ts-offset.

5 years agoglimagesink: add support for BGR10A2_LE / RGB10A2_LE
Haihao Xiang [Wed, 5 Jun 2019 01:26:08 +0000 (09:26 +0800)]
glimagesink: add support for BGR10A2_LE / RGB10A2_LE

This makes a pipeline below work:

gst-launch-1.0 videotestsrc ! video/x-raw,format={BGR10A2_LE, \
RGB10A2_LE} ! glimagesink

5 years agoglformat: removde dead break after return
Haihao Xiang [Fri, 14 Jun 2019 06:53:56 +0000 (14:53 +0800)]
glformat: removde dead break after return

5 years agovideo-and: Fix buffer overflow detected by asan
Roman Sivriver [Tue, 18 Jun 2019 01:57:33 +0000 (21:57 -0400)]
video-and: Fix buffer overflow detected by asan

gst_meta_api_type_register() assumes that the last tags element is null, but it wasn't

==17422==ERROR: AddressSanitizer: global-buffer-overflow on address 0x7f4e2a67c998 at pc 0x7f4e2a0c92ac bp 0x7ffcc41f80b0 sp 0x7ffcc41f80a0
READ of size 8 at 0x7f4e2a67c998 thread T0
    #0 0x7f4e2a0c92ab in gst_meta_api_type_register ../subprojects/gstreamer/gst/gstmeta.c:94
    #1 0x7f4e2a5582c3 in gst_video_afd_meta_api_get_type ../subprojects/gst-plugins-base/gst-libs/gst/video/video-anc.c:1146
    #2 0x404c7c in invoke_get_type (/home/ubuntu/gst-build/build/tmp-introspect5gv1rovo/GstVideo-1.0+0x404c7c)
    #3 0x406b5c in dump_irepository (/home/ubuntu/gst-build/build/tmp-introspect5gv1rovo/GstVideo-1.0+0x406b5c)
    #4 0x407089 in main (/home/ubuntu/gst-build/build/tmp-introspect5gv1rovo/GstVideo-1.0+0x407089)
    #5 0x7f4e295b4b6a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26b6a)
    #6 0x404479 in _start (/home/ubuntu/gst-build/build/tmp-introspect5gv1rovo/GstVideo-1.0+0x404479)

0x7f4e2a67c998 is located 40 bytes to the left of global variable 'tags' defined in '../subprojects/gst-plugins-base/gst-libs/gst/video/video-anc.c:1232:25' (0x7f4e2a67c9c0) of size 24
0x7f4e2a67c998 is located 0 bytes to the right of global variable 'tags' defined in '../subprojects/gst-plugins-base/gst-libs/gst/video/video-anc.c:1141:25' (0x7f4e2a67c980) of size 24
SUMMARY: AddressSanitizer: global-buffer-overflow ../subprojects/gstreamer/gst/gstmeta.c:94 in gst_meta_api_type_register

5 years agotests: pbutils: Add test parsing H265 profiles
Seungha Yang [Mon, 15 Oct 2018 13:35:09 +0000 (22:35 +0900)]
tests: pbutils: Add test parsing H265 profiles

5 years agocodec-utils: Add parsing H265 range extensions profiles
Seungha Yang [Mon, 15 Oct 2018 12:16:56 +0000 (21:16 +0900)]
codec-utils: Add parsing H265 range extensions profiles

Add support all h265 profiles defined by ITU-T H.264 (02/2018) revision

5 years agoappsrc: Fix typo in documentation
Wonchul Lee [Sat, 15 Jun 2019 05:33:32 +0000 (14:33 +0900)]
appsrc: Fix typo in documentation

5 years agovideodecoder: Fix typo in documentation
Wonchul Lee [Sat, 15 Jun 2019 01:41:29 +0000 (10:41 +0900)]
videodecoder: Fix typo in documentation

5 years agomeson.build: use join_paths() on prefix
Håvard Graff [Tue, 10 Oct 2017 13:45:14 +0000 (15:45 +0200)]
meson.build: use join_paths() on prefix

So that "/" are correct on Windows.

5 years agoglcontext_egl: check if eglChooseConfig has a matching config
Adrian Negreanu [Wed, 29 May 2019 10:24:04 +0000 (13:24 +0300)]
glcontext_egl: check if eglChooseConfig has a matching config

The specs recommends to also check the num_config parameter.

5 years agocompositor: Copy frames as-is when possible
Nirbheek Chauhan [Thu, 13 Jun 2019 21:02:50 +0000 (02:32 +0530)]
compositor: Copy frames as-is when possible

The blend functions for alpha formats need to do more work than just
doing a memcpy, so we can do a memcpy when we know that a blend is not
actually needed.

1080p AYUV ! compositor background=transparent ! fakesink - 56% faster

Specifically, when we don't draw the background and the first pad we
draw completely covers the output frame, we can just copy it as-is.
The rest of the pads (if any) will get composited on top normally.

5 years agortpbasedepayload: Add max-reorder property
Stian Selnes [Thu, 13 Jun 2019 08:36:05 +0000 (10:36 +0200)]
rtpbasedepayload: Add max-reorder property

Add max-reorder property to make the old hard coded reordering limit of
100 configurable. It's particularly useful in some scenarios to set
max-reorder=0 to disable the behavior that the depayloader will drop
packets.

Note that although the default value is 100, the default limit has
increased with one because of the changed if-test. This was done to
allow the max-reorder value to be more intuitive. See tests.

5 years agocompositor: Sprinkle some const in prototypes
Nirbheek Chauhan [Thu, 13 Jun 2019 15:00:03 +0000 (20:30 +0530)]
compositor: Sprinkle some const in prototypes

These helper functions don't edit the rectangles passed in.

5 years agocompositor: Skip background if transparent and obscured
Nirbheek Chauhan [Sun, 26 May 2019 15:47:20 +0000 (17:47 +0200)]
compositor: Skip background if transparent and obscured

If the background is transparent and obscured by a pad that may or may
not have alpha, we can still skip drawing it entirely

AYUV 1080p ! compositor background=transparent ! fakesink - 75% faster

5 years agocompositor: Skip the background when not visible
Nirbheek Chauhan [Sun, 26 May 2019 15:30:12 +0000 (17:30 +0200)]
compositor: Skip the background when not visible

We don't need to waste time drawing the background when one of the
pads completely covers the output and there's no alpha on the pad or
in the video format. Speedups:

I420 1080p ! compositor ! fakesink - 72% faster
I420 1080p ! compositor background=black ! fakesink - 45% faster

5 years agocompositor: Don't log per-frame under GST_INFO
Nirbheek Chauhan [Sun, 26 May 2019 16:28:18 +0000 (18:28 +0200)]
compositor: Don't log per-frame under GST_INFO

5 years agocompositor: Factor-out rectangle-obscuring check
Nirbheek Chauhan [Sun, 26 May 2019 15:29:23 +0000 (17:29 +0200)]
compositor: Factor-out rectangle-obscuring check

We're going to use this for checking if one of the pads obscures the
background.

5 years agocompositor: Add some comments, remove outdated ones
Nirbheek Chauhan [Sun, 26 May 2019 13:23:25 +0000 (15:23 +0200)]
compositor: Add some comments, remove outdated ones

5 years agocompositor: Remove unused function argument
Nirbheek Chauhan [Sun, 26 May 2019 13:23:06 +0000 (15:23 +0200)]
compositor: Remove unused function argument

5 years agotests/gl-launch-lines: gltestsrc works on gles2/opengl3 now
Matthew Waters [Wed, 5 Jun 2019 08:23:16 +0000 (18:23 +1000)]
tests/gl-launch-lines: gltestsrc works on gles2/opengl3 now

There's no need to feature gate the gltestsrc pipelines anymore

5 years agoglvideomixer: perform _get_highest_precision on the GL thread
Matthew Waters [Wed, 5 Jun 2019 08:17:35 +0000 (18:17 +1000)]
glvideomixer: perform _get_highest_precision on the GL thread

gst_gl_shader_string_get_highest_precision needs to make an OpenGL call
so execution outside the OpenGL thread and context results in undefined
behaviour.

5 years agoglmosaic: port to opengl3/gles2
Matthew Waters [Wed, 5 Jun 2019 08:06:57 +0000 (18:06 +1000)]
glmosaic: port to opengl3/gles2

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/543

5 years agoglcontext: add a couple of preconditions of invalid usage
Matthew Waters [Thu, 13 Jun 2019 05:36:56 +0000 (15:36 +1000)]
glcontext: add a couple of preconditions of invalid usage

5 years agogl: detect possible GL version prefix
Víctor Manuel Jáquez Leal [Wed, 12 Jun 2019 15:20:10 +0000 (17:20 +0200)]
gl: detect possible GL version prefix

Instead of checking if the requested GL API is GLES2 (because ANY can
be set) the string is matched with the GLES2 prefix, and if so, then
the string is offset.

5 years agomeson: add rtpmeta-tests
Havard Graff [Tue, 16 Oct 2018 14:56:26 +0000 (16:56 +0200)]
meson: add rtpmeta-tests

5 years agortpbasepayload: don't use GINT_TO_POINTER with GType
Havard Graff [Wed, 12 Jun 2019 12:32:03 +0000 (14:32 +0200)]
rtpbasepayload: don't use GINT_TO_POINTER with GType

GType can (and will) be 64bit. GINT_TO_POINTER is not.
This will result in the api-type checked for being a different one than
it actually is...

5 years agortpbasedepayload: don't consider existing GstRTPSourceMeta
Havard Graff [Wed, 12 Jun 2019 12:31:09 +0000 (14:31 +0200)]
rtpbasedepayload: don't consider existing GstRTPSourceMeta

The meta should always be generated based on what is present in the
rtp-header.

5 years agogstrtppayloads: add vp8/vp9/opus encoding-name
Marc Leeman [Wed, 12 Jun 2019 12:32:33 +0000 (12:32 +0000)]
gstrtppayloads: add vp8/vp9/opus encoding-name

Adding these encoding names allows easy lookup of the caps based on the
encoding-name.

5 years agortspconnection: Start CSeq at 1
Eike Hein [Tue, 11 Jun 2019 19:45:09 +0000 (04:45 +0900)]
rtspconnection: Start CSeq at 1

RFC 7826 recommends (but does not require) starting at 0,
but at least one known server implementation fails to copy
request sequence numbers <1 into responses due to an
incorrect null check.

The server known to exhibit this behavior is the Parrot
Streaming Server, serving video from their UAV devices.
A fix has been submitted upstream as well:
https://github.com/Parrot-Developers/librtsp/pull/2

The Parrot developers are known to have tested with LibVLC.
In WireShark debugging, LibVLC appears to start with a CSeq
of 2, which is likely why this bug went unnoticed.

This reverts 487595a7d6e2d, which set this to 0 citing the
RFC. The switch to 0 was thus a recent one; it's therefore
possible server implementors relied on the previous
GStreamer client behavior in their tests as well.

Fixes #624.

5 years agoviv-fb: fix build break for GST_GL_API
Haihua Hu [Mon, 3 Jun 2019 07:51:02 +0000 (15:51 +0800)]
viv-fb: fix build break for GST_GL_API

Need include config.h in gstglwindow_viv_fb_egl.c

5 years agodiscoverer: Plug some leaks in the cache loading path
Thibault Saunier [Sat, 8 Jun 2019 02:29:10 +0000 (22:29 -0400)]
discoverer: Plug some leaks in the cache loading path

5 years agogl/tests: fix shader creation tests part 2
Matthew Waters [Fri, 7 Jun 2019 16:57:37 +0000 (02:57 +1000)]
gl/tests: fix shader creation tests part 2

Continuation of 4fd7a2c783e96e5ebec513f8fd178ba34b2a527f

We check the availability of the high precision floats in GLSL shaders
which involves an OpenGL call and thus is required to be executed on the
OpenGL thread.

The tests were not respecting that and could fail on more strict
drivers.

Tests update for 675415bf2ea9ddc75ea5e5b6eae9ae942c19d6dc
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/590

5 years agogl/tests: fix shader creation tests
Matthew Waters [Fri, 7 Jun 2019 10:51:39 +0000 (20:51 +1000)]
gl/tests: fix shader creation tests

We check the availability of the high precision floats in GLSL shaders
which involves an OpenGL call and thus is required to be executed on the
OpenGL thread.

The tests were not respecting that and could fail on more strict
drivers.

Tests update for 675415bf2ea9ddc75ea5e5b6eae9ae942c19d6dc
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/590

5 years agovalgrind: suppress incorrect conditional error in orc backup code
Mathieu Duponchelle [Wed, 5 Jun 2019 20:25:45 +0000 (22:25 +0200)]
valgrind: suppress incorrect conditional error in orc backup code

5 years agodiscoverer: unref "next" variant when parsing from variant
Mathieu Duponchelle [Wed, 5 Jun 2019 20:20:43 +0000 (22:20 +0200)]
discoverer: unref "next" variant when parsing from variant

5 years agovalgrind: free buffer list in audiorate test
Mathieu Duponchelle [Wed, 5 Jun 2019 20:10:47 +0000 (22:10 +0200)]
valgrind: free buffer list in audiorate test

5 years agovalgrind: suppress conditional jump or move error
Mathieu Duponchelle [Wed, 5 Jun 2019 20:06:26 +0000 (22:06 +0200)]
valgrind: suppress conditional jump or move error

valgrind gets confused with the following piece of code:

var37.i = ORC_CLAMP_SL((orc_int64)var33.i + (orc_int64)var34.i);

Where all variables are orc_int32

5 years agowayland: set the event queue also for the xdg_wm_base object
Fernando Herrrera [Wed, 5 Jun 2019 12:25:34 +0000 (13:25 +0100)]
wayland: set the event queue also for the xdg_wm_base object

5 years agoUse G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally
Niels De Graef [Tue, 4 Jun 2019 07:01:47 +0000 (09:01 +0200)]
Use G_DEFINE_AUTOPTR_CLEANUP_FUNC unconditionally

Since we started depending on GLib 2.44, we can be sure this macro is
defined (it will be a no-op on compilers that don't support it). For
plugins we should just start using `G_DECLARE_FINAL_TYPE` which means we
no longer need the macro there, but for most types in base/gst-libs we
don't want to break ABI, which means it's better to just keep it like it
is (and use the `#ifdef` instead).

5 years agoalsa: Implement a DeviceProvider
Thibault Saunier [Fri, 31 Aug 2018 21:33:43 +0000 (18:33 -0300)]
alsa: Implement a DeviceProvider

Removing gstalsadeviceprobe.[ch] as it was a relique from the 0.10
century.

This doesn't implement device monitoring but only probing, monitoring
should be implemented in its own commit.

5 years agodocs: override rtsp library project name
Mathieu Duponchelle [Tue, 4 Jun 2019 13:04:03 +0000 (15:04 +0200)]
docs: override rtsp library project name

.. to avoid conflicts with the rtsp plugin

5 years agodocs: override rtp library project name
Mathieu Duponchelle [Tue, 4 Jun 2019 12:58:45 +0000 (14:58 +0200)]
docs: override rtp library project name

.. to avoid conflicts with the rtp plugin

5 years agomeson: Bump minimal GLib version to 2.44
Niels De Graef [Fri, 31 May 2019 21:02:53 +0000 (23:02 +0200)]
meson: Bump minimal GLib version to 2.44

This means we can use some newer features and get rid of some boilerplate code using the G_DECLARE_* macros.

As discussed on IRC, 2.44 is old enough by now to start depending on it.

5 years agocompositor: remove invalid test
Mathieu Duponchelle [Thu, 30 May 2019 16:43:14 +0000 (18:43 +0200)]
compositor: remove invalid test

With https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/159,
a single flush start on an aggregator sinkpad will start the flushing
process if the aggregator isn't already flushing.

The behaviour that this test was checking for is thus no longer correct

5 years agoAdded GI annotation for gstvideoaffinetransformationmeta apply_matrix
Daniel Klamt [Tue, 28 May 2019 15:04:51 +0000 (17:04 +0200)]
Added GI annotation for gstvideoaffinetransformationmeta apply_matrix

The problem is that Gobject Introspections does not understand the const
gfloat matrix[16] as an matrix but as an array of gfloasts but as just
one gfloat.

To fix this i added the annotation to the parameter
descriptions.

5 years agodocs: unprefix subproject paths
Mathieu Duponchelle [Fri, 31 May 2019 23:00:06 +0000 (01:00 +0200)]
docs: unprefix subproject paths

special case for app, renamed to applib to not conflict
with the plugin

5 years agodoc: remove xml from comments
Mathieu Duponchelle [Wed, 29 May 2019 23:12:59 +0000 (01:12 +0200)]
doc: remove xml from comments

5 years agooverlaycompositor: Show the full example instead of a stripped down version
Thibault Saunier [Wed, 29 May 2019 18:41:10 +0000 (14:41 -0400)]
overlaycompositor: Show the full example instead of a stripped down version

5 years agodocs: update plugin docs cache
Tim-Philipp Müller [Wed, 29 May 2019 10:14:05 +0000 (11:14 +0100)]
docs: update plugin docs cache

5 years agodoc: Add gstoverlaycomposition to the plugins list
Nicolas Dufresne [Tue, 14 May 2019 01:11:12 +0000 (21:11 -0400)]
doc: Add gstoverlaycomposition to the plugins list

5 years agoUpdate plugin cache
Mathieu Duponchelle [Sat, 25 May 2019 17:43:33 +0000 (19:43 +0200)]
Update plugin cache

5 years agogstglfiltershader: don't try to link to "version" in doc
Mathieu Duponchelle [Sat, 25 May 2019 15:26:52 +0000 (17:26 +0200)]
gstglfiltershader: don't try to link to "version" in doc

5 years agodoc: fix element section documentations
Mathieu Duponchelle [Sat, 25 May 2019 14:54:39 +0000 (16:54 +0200)]
doc: fix element section documentations

Element sections were not rendered anymore after the hotdoc
port, fixing this revealed a few incorrect links.

5 years agocompositor: Replace shift and conv opcodes by convh in BGRA SOURCE operator
Sebastian Dröge [Fri, 24 May 2019 13:54:50 +0000 (15:54 +0200)]
compositor: Replace shift and conv opcodes by convh in BGRA SOURCE operator

Potentially speeds up processing a bit.

5 years agocompositor: Remove unneeded left shift for ARGB/AYUV SOURCE operator
Sebastian Dröge [Fri, 24 May 2019 13:53:55 +0000 (15:53 +0200)]
compositor: Remove unneeded left shift for ARGB/AYUV SOURCE operator

The alpha value is already in the lower 8 bits from the beginning in
this case.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/610

5 years agovideo-color: Deal with NULL colorimetry while converting from string
Arun Raghavan [Fri, 24 May 2019 13:22:58 +0000 (15:22 +0200)]
video-color: Deal with NULL colorimetry while converting from string

This came up in the case where v4l2 sets caps with colorimetry=NULL, and
then tries to parse back the colorimetry, causing a crash in
gst_video_get_colorimetry() because of g_str_equal(). We fix this by
making sure the only caller of the function never calls it with a null
colorimetry string.

5 years agovideo-color: Fix unknown colorimetry checking
Arun Raghavan [Fri, 24 May 2019 14:35:08 +0000 (16:35 +0200)]
video-color: Fix unknown colorimetry checking

Also drop some deadcode #defines.

5 years agotests: video: Enable PQ and HLG transfer en/decode tests
Seungha Yang [Sun, 5 May 2019 12:02:46 +0000 (21:02 +0900)]
tests: video: Enable PQ and HLG transfer en/decode tests

5 years agovideo-color: Add ARIB STD-B67 transfer chracteristic function
Seungha Yang [Sun, 5 May 2019 12:02:55 +0000 (21:02 +0900)]
video-color: Add ARIB STD-B67 transfer chracteristic function

It's known also as Rec. ITU-R BT.2100-1 hybrid log-gamma (HLG) used for
both SDR and HDR rendering.

5 years agovideo-color: Add SMPTE ST 2084 support and BT 2100 colorimetry
Seungha Yang [Sun, 5 May 2019 10:22:13 +0000 (19:22 +0900)]
video-color: Add SMPTE ST 2084 support and BT 2100 colorimetry

SMPTE ST 2084 transfer characteristics (a.k.a ITU-R BT.2100-1 perceptual quantization, PQ)
is used for various HDR standard.
With ST 2084, we can represent BT 2100 (Rec. 2100). BT 2100 defines
various aspect of HDR such as resolution, transfer functions, matrix, primaries
and etc. It uses BT2020 color space (primaries and matrix) with PQ or HLG
transfer functions.

5 years agovideo-color: Define bt2020-10 transfer characteristics for clarity
Seungha Yang [Sun, 5 May 2019 10:08:55 +0000 (19:08 +0900)]
video-color: Define bt2020-10 transfer characteristics for clarity

bt707, bt2020-10, and bt2020-12 transfer characteristics are functionally
identical but have their own unique values by specification.

5 years agouridecodebin, urisourcebin: fix buffering for ssh:// URIs
Tim-Philipp Müller [Thu, 16 May 2019 07:53:51 +0000 (08:53 +0100)]
uridecodebin, urisourcebin: fix buffering for ssh:// URIs

Protocols that are in the stream_uris list should always
be streams, no matter what they respond to the scheduling
query. The flag in the scheduling query is just another
way to declare something that needs buffering without the
whitelist, the absence of the flag shouldn't make us ignore
our known protocol list.

Also set is_stream always to a boolean and not a mask value.

5 years agogl/docs: add to new docs system
Matthew Waters [Mon, 20 May 2019 01:14:27 +0000 (11:14 +1000)]
gl/docs: add to new docs system

5 years agoalsasrc: Don't use driver timestamp if it's zero
Georg Lippitsch [Mon, 26 Feb 2018 13:25:40 +0000 (14:25 +0100)]
alsasrc: Don't use driver timestamp if it's zero

Some alsa interfaces don't provide timestamps and thus always set the timestamp to zero.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/453

5 years agoaudiotestsrc: Max audio frequency is half the rate, not 1/4
Vivia Nikolaidou [Fri, 17 May 2019 13:35:40 +0000 (16:35 +0300)]
audiotestsrc: Max audio frequency is half the rate, not 1/4

https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem

5 years agodocs: don't build plugins doc cache by default
Tim-Philipp Müller [Fri, 17 May 2019 11:26:40 +0000 (12:26 +0100)]
docs: don't build plugins doc cache by default

https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36

5 years agodocs: Update plugins documentation cache
Thibault Saunier [Tue, 14 May 2019 02:53:24 +0000 (22:53 -0400)]
docs: Update plugins documentation cache

Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36

5 years agogstaudioaggregator: expose output-buffer-duration-fraction
Mathieu Duponchelle [Mon, 13 May 2019 23:56:58 +0000 (01:56 +0200)]
gstaudioaggregator: expose output-buffer-duration-fraction

The code for this is mostly lifted from audiobuffersplit, it
allows use cases such as keeping the buffers output by compositor
on one branch and audiomixer on another perfectly aligned, by
requiring the compositor to output a n/d frame rate, and setting
output-buffer-duration to d/n on the audiomixer.

The old output-buffer-duration property now simply maps to its
fractional counterpart, the last set property wins.

5 years agogloverlaycompositor: fix crash if buffer doesn't have video meta
Guillaume Desmottes [Tue, 14 May 2019 11:34:13 +0000 (13:34 +0200)]
gloverlaycompositor: fix crash if buffer doesn't have video meta

Fix #501

5 years agomeson: Don't try to find gio-unix on Windows
Seungha Yang [Sun, 12 May 2019 09:33:32 +0000 (18:33 +0900)]
meson: Don't try to find gio-unix on Windows

5 years agovideo:doc: Remove duplicated gstvideoutils SECTION
Thibault Saunier [Tue, 23 Apr 2019 21:51:25 +0000 (17:51 -0400)]
video:doc: Remove duplicated gstvideoutils SECTION

5 years agoMark some properties as DOC_SHOW_DEFAULT
Thibault Saunier [Sun, 11 Nov 2018 22:03:33 +0000 (19:03 -0300)]
Mark some properties as DOC_SHOW_DEFAULT

5 years agodoc: Fix some gtk-doc comments
Thibault Saunier [Fri, 21 Sep 2018 16:54:39 +0000 (13:54 -0300)]
doc: Fix some gtk-doc comments

5 years agodoc: Port to hotdoc
Thibault Saunier [Mon, 22 Oct 2018 06:17:24 +0000 (08:17 +0200)]
doc: Port to hotdoc

5 years agodoc: Remove gtk-doc support
Thibault Saunier [Fri, 14 Sep 2018 12:33:35 +0000 (09:33 -0300)]
doc: Remove gtk-doc support

5 years agomeson: Add variables for gir files
Thibault Saunier [Mon, 22 Oct 2018 09:44:37 +0000 (11:44 +0200)]
meson: Add variables for gir files

And flatten list of sources for dependencies

5 years agodocs: Add some missing sections documentation
Thibault Saunier [Mon, 22 Oct 2018 09:37:44 +0000 (11:37 +0200)]
docs: Add some missing sections documentation

5 years agodocs: Enhance GstEncodingProfile and GstEncodingTarget doc
Thibault Saunier [Mon, 22 Oct 2018 09:37:41 +0000 (11:37 +0200)]
docs: Enhance GstEncodingProfile and GstEncodingTarget doc

5 years agoglshader: fix default external-oes shaders
Matthew Waters [Tue, 7 May 2019 08:36:01 +0000 (18:36 +1000)]
glshader: fix default external-oes shaders

In glsl, #extension directives need to before other non-preprocesser
directives.  We were placing the precision qualifier before that.  Fix
by moving the #extension to the first line in the shader.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/601

5 years agotest: add subparse test for SRT subtitles with no newline at the end
Antonio Ospite [Mon, 6 May 2019 11:23:22 +0000 (13:23 +0200)]
test: add subparse test for SRT subtitles with no newline at the end

Add a test to verify that SRT subtitles work even if the last chunk does
not have an empty line after it.

5 years agosubparse: fix pushing WebVTT cue when last is not an empty line
Antonio Ospite [Mon, 6 May 2019 10:48:49 +0000 (12:48 +0200)]
subparse: fix pushing WebVTT cue when last is not an empty line

If the last WebVTT cue does not have an empty line after it, or if it
does not end with a newline at all, it does not get pushed out and it
won't be displayed.

gst_sub_parse_sink_event() already handles the issue for other subtitle
formats, enable handling it for GST_SUB_PARSE_FORMAT_VTT too.

While at it also add a test for this case.

5 years agovideo: Add RGB10A2_LE pixel format
Seungha Yang [Sat, 4 May 2019 14:48:27 +0000 (23:48 +0900)]
video: Add RGB10A2_LE pixel format

Packed 10 bits per each R, G and B channel with MSB 2bits alpha channel.
This format is mapped to Windows' DXGI_FORMAT_R10G10B10A2_UNORM format which is
required for 10bits HDR rendering.

Note that this RGB10A2_LE format is R - B channel swapped version of BGR10A2_LE

5 years agoMissing "android" choice in gl_winsys
Xavier Claessens [Fri, 3 May 2019 18:31:03 +0000 (14:31 -0400)]
Missing "android" choice in gl_winsys

5 years agovideo: Generate GTypes for videotimecode enums
Thibault Saunier [Wed, 1 May 2019 21:22:46 +0000 (17:22 -0400)]
video: Generate GTypes for videotimecode enums

5 years agovideotimecode: Mark latest_daily_jame as allow-none in init\()
Thibault Saunier [Wed, 1 May 2019 21:22:24 +0000 (17:22 -0400)]
videotimecode: Mark latest_daily_jame as allow-none in init\()

5 years agovideo test: Keep BE test inline with LE test
A. Wilcox [Wed, 1 May 2019 16:25:31 +0000 (11:25 -0500)]
video test: Keep BE test inline with LE test

5 years agovideo-anc: add AFD/Bar support
Aaron Boxer [Tue, 30 Apr 2019 21:21:38 +0000 (17:21 -0400)]
video-anc: add AFD/Bar support

5 years agovideo-frame: update docs
Aaron Boxer [Wed, 1 May 2019 19:44:44 +0000 (15:44 -0400)]
video-frame: update docs

mention closed caption caps as valid caps for video buffer flags

5 years agotypefindfunctions: Add support HEIF file format finding
Seungha Yang [Fri, 12 Apr 2019 03:09:31 +0000 (12:09 +0900)]
typefindfunctions: Add support HEIF file format finding

A HEIF compatiable file (i.e., mif1 brand) needs special concern
since 'moov' atom is not mandatory for the file although HEIF is
a variant of ISOBMFF

See http://standards.iso.org/ittf/PubliclyAvailableStandards/c066067_ISO_IEC_23008-12_2017.zip

5 years agovideoencoder: Forward upstream HDR information to downstream
Seungha Yang [Thu, 2 May 2019 05:24:27 +0000 (14:24 +0900)]
videoencoder: Forward upstream HDR information to downstream

... if subclass didn't update values. Note that the mastering-display-info
and content-light-level might be updated by user defined value (e.g., encoding option).

5 years agovideodecoder: Forward upstream HDR information to downstream
Seungha Yang [Sat, 27 Apr 2019 13:29:25 +0000 (22:29 +0900)]
videodecoder: Forward upstream HDR information to downstream

The HDR related information is not part of GstVideoInfo but should be passed
to downstream.

5 years agotests: video: Add test for video-hdr
Seungha Yang [Mon, 18 Feb 2019 10:54:35 +0000 (19:54 +0900)]
tests: video: Add test for video-hdr

5 years agovideo: Add new APIs for HDR information representation
Seungha Yang [Mon, 18 Feb 2019 04:20:33 +0000 (13:20 +0900)]
video: Add new APIs for HDR information representation

Introduce HDR signalling methods
* GstVideoMasteringDisplayInfo: Representing display color volume info.
  Defined by SMPTE ST 2086
* GstVideoContentLightLevel: Representing content light level specified in
  CEA-861.3, Appendix A.

Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/400

5 years agoalsasrc: driver timestamps only to be considered if system clock
Robert Rosengren [Mon, 29 Apr 2019 09:25:02 +0000 (11:25 +0200)]
alsasrc: driver timestamps only to be considered if system clock

The system clock check when considering to use driver timestamp
should not include sub-classes of system clock (such as the net clocks).

5 years agoalsasrc: added option for chosing timestamps
Danny Smith [Fri, 8 Jun 2018 09:03:03 +0000 (11:03 +0200)]
alsasrc: added option for chosing timestamps

Added an option for chosing if driver or pipeline timestamps shall be
used.