platform/upstream/gst-plugins-base.git
4 years agoMerge branch 'tizen_gst_1.16.2' into tizen 91/225591/1 accepted/tizen/unified/20200304.124028 submit/tizen/20200221.064623 submit/tizen/20200302.032418
Gilbok Lee [Fri, 21 Feb 2020 06:22:40 +0000 (15:22 +0900)]
Merge branch 'tizen_gst_1.16.2' into tizen

Change-Id: Ic7957406bd4feccae8151765c793c34b3c9846e4

4 years agosubparse: fix svace issue 94/225494/2 tizen_gst_1.16.2
Eunhye Choi [Thu, 20 Feb 2020 07:49:41 +0000 (16:49 +0900)]
subparse: fix svace issue

Change-Id: I0008756d0b796b761591a0195fef800db2d02b87

4 years agoMerge branch 'upstream/1.16' into tizen_gst_1.16.2 87/222887/7
Gilbok Lee [Fri, 17 Jan 2020 07:02:38 +0000 (16:02 +0900)]
Merge branch 'upstream/1.16' into tizen_gst_1.16.2

Change-Id: I1bc8038f8df8189776f4b2d4b70e3822430e840b

4 years ago[videoconvert] Update converting function for I420toSN12 87/223787/3 accepted/tizen/unified/20200205.125306 submit/tizen/20200204.110420
Jeongmo Yang [Tue, 4 Feb 2020 03:48:22 +0000 (12:48 +0900)]
[videoconvert] Update converting function for I420toSN12

[Version] 1.12.2-8
[Profile] Common
[Issue Type] Update

Change-Id: I71e33e185881844b18de1321c45f65dbce002a3f
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
4 years agovideoconvert: Support I420 to SN12 converting on exynos target 49/223149/2 accepted/tizen/unified/20200130.214736 submit/tizen/20200128.053924 submit/tizen/20200130.052510
Jeongmo Yang [Thu, 23 Jan 2020 09:18:14 +0000 (18:18 +0900)]
videoconvert: Support I420 to SN12 converting on exynos target

[Version] 1.12.2-7
[Profile] Common
[Issue Type] Improvement

Change-Id: If23c5c4d51a018b7bc6446e9584940a87ed26edb
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
4 years agoRelease 1.16.2 upstream/1.16 1.16.2
Tim-Philipp Müller [Tue, 3 Dec 2019 11:03:11 +0000 (11:03 +0000)]
Release 1.16.2

4 years agoUpdate docs
Tim-Philipp Müller [Tue, 3 Dec 2019 11:03:11 +0000 (11:03 +0000)]
Update docs

4 years agoUpdate translations
Tim-Philipp Müller [Tue, 3 Dec 2019 11:03:09 +0000 (11:03 +0000)]
Update translations

4 years agoglfilters: Don't use static variables for storing per-element state
Sebastian Dröge [Wed, 2 Oct 2019 20:21:09 +0000 (23:21 +0300)]
glfilters: Don't use static variables for storing per-element state

4 years agoxvimagepool: Update size, stride, and offset with allocated XvImage
Seungha Yang [Fri, 8 Nov 2019 08:28:44 +0000 (17:28 +0900)]
xvimagepool: Update size, stride, and offset with allocated XvImage

Memory layout of XvImage might be different from that of GstVideoInfo.
If so, the image size, stride, and offset would be wrongly informed.

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

4 years agoxvimagepool: Fix confusing debug message for padding size
Seungha Yang [Fri, 8 Nov 2019 08:33:17 +0000 (17:33 +0900)]
xvimagepool: Fix confusing debug message for padding size

4 years agovideo-converter: Fix RGB-XYZ-RGB conversion
Edward Hervey [Fri, 8 Nov 2019 14:13:59 +0000 (15:13 +0100)]
video-converter: Fix RGB-XYZ-RGB conversion

The matrices were in the wrong order.
Instead of the conversion matrix being
  _ XYZ_TO_RGB_output * RGB_TO_XYZ_input * input_RGB
It was
  _ RGB_TO_XYZ_input * XYZ_TO_RGB_output * input_RGB

4 years agoaudiorate: Update next_offset per rate change
Seungha Yang [Thu, 7 Nov 2019 13:00:03 +0000 (22:00 +0900)]
audiorate: Update next_offset per rate change

To support runtime audio samplerate change, re-calculate next target offset
per caps. Calculating the next buffer offset using the previous
offset seems to be tricky and rounding error prone.

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

4 years agoRevert "audiorate: accumulate offset by time diff"
Seungha Yang [Thu, 7 Nov 2019 12:42:25 +0000 (21:42 +0900)]
Revert "audiorate: accumulate offset by time diff"

This reverts commit 4fa850e3e6c039000fc7f648de238af6c2278469.

The commit would break an constant rate audio stream with gap.

4 years agoaudioringbuffer: Reset reorder flag before check
Jochen Henneberg [Mon, 26 Aug 2019 13:03:48 +0000 (15:03 +0200)]
audioringbuffer: Reset reorder flag before check

This function might be revisited with different channel position mapping
while audio source goes into play so the reorder flag needs to be reset
before the checks happen.

4 years agoaudio-buffer: Don't fail to map buffers with zero samples
Sebastian Dröge [Thu, 14 Nov 2019 11:37:58 +0000 (12:37 +0100)]
audio-buffer: Don't fail to map buffers with zero samples

Instead initialize the map infos, etc to NULL like gst_buffer_map()
would be doing on a zero-sized buffer.

This fixes a crash in audioresample if the first output buffer would
contain zero samples.

4 years agovideorate: Fix max-duplication-time handling
Sebastian Dröge [Mon, 28 Oct 2019 12:43:50 +0000 (14:43 +0200)]
videorate: Fix max-duplication-time handling

Previously this would've only set discont=TRUE and then for all future
buffers simply returned immediately.

Instead we also need to
  a) drain previous input until its buffer time
  b) update next_ts and base_ts accordingly for the gap
  c) actually store the new buffer after the gap so it can be used in
     the future and so the old buffer before the gap is gone

Also update the unit test accordingly so that it actually tests for this
behaviour. Previously it only tested that after the gap we got no output
at all.

4 years agogl/gbm: ensure we call the resize callback before attempting to draw
Matthew Waters [Sun, 3 Nov 2019 13:38:18 +0000 (00:38 +1100)]
gl/gbm: ensure we call the resize callback before attempting to draw

Without this, sinks will not be notified about size changes or even the
initial size and would render at 0x0.

4 years agovideo-converter: Use G_N_ELEMENTS instead of writing it out manually
Sebastian Dröge [Mon, 21 Oct 2019 13:43:32 +0000 (16:43 +0300)]
video-converter: Use G_N_ELEMENTS instead of writing it out manually

4 years agovideo-converter: Scaling-only fast-paths for planar formats are keeping interlacing
Sebastian Dröge [Mon, 21 Oct 2019 14:40:35 +0000 (17:40 +0300)]
video-converter: Scaling-only fast-paths for planar formats are keeping interlacing

So we can also use them for interlaced content and speed up scaling a
bit.

4 years agovideo-scaler: Correctly handle interlaced vertical scalers in gst_video_scaler_2d()
Sebastian Dröge [Mon, 21 Oct 2019 14:28:46 +0000 (17:28 +0300)]
video-scaler: Correctly handle interlaced vertical scalers in gst_video_scaler_2d()

We need to provide twice as many lines as usual to the scaling function
as every second lines would be skipped.

Without this we read from random memory and produce colorful output and
crashes.

4 years agovideo-converter: Don't use fast-path halfing/doubling rescalers for interlaced planar...
Sebastian Dröge [Mon, 21 Oct 2019 13:43:02 +0000 (16:43 +0300)]
video-converter: Don't use fast-path halfing/doubling rescalers for interlaced planar formats

They will mix lines from the top and bottom field and by that
effectively deinterlace the video, badly.

4 years agovideo-converter: Use interlaced scalers for vertical scaling if needed
Sebastian Dröge [Mon, 21 Oct 2019 13:43:02 +0000 (16:43 +0300)]
video-converter: Use interlaced scalers for vertical scaling if needed

Without this, scaling e.g. interlaced UYVY causes corrupted output with
lines as follows: f1 f1 f2 f2, i.e. two lines of each field and only
then the other field.

4 years agogstrtspconnection: messages_bytes not decreased
Joakim Johansson [Thu, 3 Oct 2019 10:03:09 +0000 (12:03 +0200)]
gstrtspconnection: messages_bytes not decreased

The watch->messages_bytes is not decreased when the write operation
from the backlog is only partly successfull.

This commit decreases the watch->messages_bytes for the successfully
sent messages.

Fixes #679

4 years agocheck: Don't use real audio devices for tests
Edward Hervey [Thu, 10 Oct 2019 14:58:26 +0000 (16:58 +0200)]
check: Don't use real audio devices for tests

When checking the behaviour of live seeking on audiomixer or
adder we don't *really* need real audio devices. audiotestsrc
in live mode is enough to test the behaviour of those elements.

Also avoids people repeatedly wasting hours trying to figure out
whether that failing behaviour is due to their code or not.

4 years agopbutils: add description for CineForm codec
Tim-Philipp Müller [Tue, 8 Oct 2019 18:35:49 +0000 (19:35 +0100)]
pbutils: add description for CineForm codec

4 years agoriff: add mapping for CineForm codec
Tim-Philipp Müller [Tue, 8 Oct 2019 18:35:23 +0000 (19:35 +0100)]
riff: add mapping for CineForm codec

Makes CineForm-in-AVI work.

4 years agoglupload: Add VideoMetas and GLSyncMeta to the raw uploaded buffers
Thibault Saunier [Fri, 27 Sep 2019 14:10:43 +0000 (11:10 -0300)]
glupload: Add VideoMetas and GLSyncMeta to the raw uploaded buffers

This is done by reusing `gst_gl_memory_setup_buffer` avoiding to
duplicate code.

Without a VideoMeta, mapping those buffers lead to GstBuffer mapping the
buffer in system memory even when specifying the GL flags (through the
buffer merging mechanism) making the result totally broken.

4 years agostreamsynchronizer: avoid pad destruction races.
Charlie Turner [Fri, 20 Sep 2019 08:48:30 +0000 (09:48 +0100)]
streamsynchronizer: avoid pad destruction races.

Due to the use of {set/get}-element_private methods being used to store
the GstSyncStream in the src and sink pads, and the racey nature of pad
destruction, there are numerous ways we can be bitten by race conditions
in the stream synchronizer. Fix that by tying the pads toghether with
references.

4 years agogst-play: Use gst_print* to avoid broken stdout string on Windows
Seungha Yang [Tue, 24 Sep 2019 06:32:33 +0000 (15:32 +0900)]
gst-play: Use gst_print* to avoid broken stdout string on Windows

Equvalant to https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/258

When debug enabled, the debug string might be broken on Windows.

4 years agoRelease 1.16.1
Tim-Philipp Müller [Mon, 23 Sep 2019 10:06:23 +0000 (11:06 +0100)]
Release 1.16.1

4 years agoUpdate docs
Tim-Philipp Müller [Mon, 23 Sep 2019 10:06:23 +0000 (11:06 +0100)]
Update docs

4 years agoUpdate translations
Tim-Philipp Müller [Mon, 23 Sep 2019 10:06:21 +0000 (11:06 +0100)]
Update translations

4 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.

4 years agomeson: Reenable NEON support
Doug Nazar [Mon, 2 Sep 2019 20:20:07 +0000 (16:20 -0400)]
meson: Reenable NEON support

4 years agoaudio-resampler: Update NEON to handle remainders not multiples of 4
Doug Nazar [Tue, 3 Sep 2019 03:25:39 +0000 (23:25 -0400)]
audio-resampler: Update NEON to handle remainders not multiples of 4

If the remainder is not evenly divisable by 4, we'd miss the check
for zero and continue the loop until crashing. Change the branch
to take into account negatives as well.

This more closely matches the SSE loop.

4 years agoeglimage: Fix memory leak
Jonas Larsson [Wed, 28 Aug 2019 18:24:01 +0000 (11:24 -0700)]
eglimage: Fix memory leak

Also free the GstEGLImage struct allocated by g_new0.

Fixes #661

4 years agotests: fix up valgrind suppressions for glibc getaddrinfo leaks
Tim-Philipp Müller [Sun, 8 Sep 2019 00:03:57 +0000 (01:03 +0100)]
tests: fix up valgrind suppressions for glibc getaddrinfo leaks

Make more flexible. There is an extra
  gethostbyname2_r@@GLIBC_2.2.5 (getXXbyYY_r.c:217)
in the trace on the build bots (F30).

Fixes the -base and -good valgrind jobs on the 1.16 branch CI.

4 years agoaudiodecoder: fix ctitical info assertion 'GST_IS_CAPS (dec->priv->ctx.caps)' failed
Hou Qi [Wed, 21 Aug 2019 11:04:56 +0000 (19:04 +0800)]
audiodecoder: fix ctitical info assertion 'GST_IS_CAPS (dec->priv->ctx.caps)' failed

Matroskademux will send gap event when lag of video and audio is over 3 seconds.
audiodecoder needs to handle gap event and set default output caps.
Only audio info is set, while output caps is ignored. This cause the assertion failed.

Need to fill output caps in gst_audio_decoder_negotiate_default_caps() with
negotiated caps to avoid critical info printed when check it later.

4 years agoDocs: add GL_CFLAGS to GTK_DOC_CFLAGS
Mike Gorse [Sat, 24 Aug 2019 12:23:34 +0000 (12:23 +0000)]
Docs: add GL_CFLAGS to GTK_DOC_CFLAGS

Otherwise introspection may fail because wayland-client.h cannot be found.

4 years agovideo-frame: Take TFF flag from the video info if it was set in there
Sebastian Dröge [Fri, 16 Aug 2019 08:58:28 +0000 (11:58 +0300)]
video-frame: Take TFF flag from the video info if it was set in there

The caps and thus the video info have preference. If the field order is
set in there then it applies to all frames.

This works around issues where the tff field order is only set in the
caps but not additionally in the buffer flags.

4 years agoglcolorconvert: Fix external-oes shader
Xavier Claessens [Fri, 9 Aug 2019 20:04:03 +0000 (16:04 -0400)]
glcolorconvert: Fix external-oes shader

The #extention must come before 'precision highp float;'.

Closes: #650

4 years agovideo-color: keep UNKNOWN colorimetry define automatically up-to-date
Tim-Philipp Müller [Sun, 11 Aug 2019 13:16:51 +0000 (14:16 +0100)]
video-color: keep UNKNOWN colorimetry define automatically up-to-date

Follow-up to !310 and helps with backport commits like !360

4 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.

4 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.

4 years agovideo-anc: Fix ADF detection when trying to extract data from vanc
Sebastian Dröge [Wed, 7 Aug 2019 10:01:07 +0000 (13:01 +0300)]
video-anc: Fix ADF detection when trying to extract data from vanc

Previously we were checking offset 1 twice, but the second check
should've been for offset 2.

4 years agogl/wayland: fix wayland event source burning CPU
Lucas Stach [Tue, 28 May 2019 15:43:25 +0000 (17:43 +0200)]
gl/wayland: fix wayland event source burning CPU

Commit c71dd72b "gl/wayland: fix glib mainloop integration" was overeager
in removing the poll result test from the check function. This caused
dispatch to be called even if no new events are available on the
Wayland connection, which in turn would wake up the glib mainloop,
causing effectively a tight loop without ever blocking on the poll.

Fixes #603

4 years agoAdd used attribute in order to make NEON detection working with -flto.
Martin Liska [Wed, 24 Jul 2019 08:12:17 +0000 (10:12 +0200)]
Add used attribute in order to make NEON detection working with -flto.

4 years agoaudioaggregator: Split getcaps() function into two
Sebastian Dröge [Thu, 18 Jul 2019 05:46:42 +0000 (08:46 +0300)]
audioaggregator: Split getcaps() function into two

One for convert pads and one for normal sink pads.

4 years agovideoaggregator: We can only convert the format if a GstVideoAggregatorConvertPad...
Sebastian Dröge [Tue, 16 Jul 2019 07:40:16 +0000 (10:40 +0300)]
videoaggregator: We can only convert the format if a GstVideoAggregatorConvertPad is used

Otherwise assume that we can at least support any framerate.

4 years agoaudioaggregator: Always take first configure pad's rate and downstream caps into...
Sebastian Dröge [Tue, 16 Jul 2019 07:34:24 +0000 (10:34 +0300)]
audioaggregator: Always take first configure pad's rate and downstream caps into account when calculating allow sink caps

While we can convert between all formats apart from the rate, we
actually need to make sure that we comply with a) the rate of the first
configured pad and b) also all the allowed rates from downstream.

4 years agoaudioaggregator: If we don't have a GstAudioAggregatorConvertPad, don't assume that...
Sebastian Dröge [Tue, 16 Jul 2019 07:02:08 +0000 (10:02 +0300)]
audioaggregator: If we don't have a GstAudioAggregatorConvertPad, don't assume that we can actually convert

4 years agoaudioaggregator: always use downstream's rate requirements
Mathieu Duponchelle [Mon, 15 Jul 2019 14:08:34 +0000 (16:08 +0200)]
audioaggregator: always use downstream's rate requirements

We were previously only fixating the rate in the getcaps
implementation when downstream was requiring a discrete value,
causing negotiation to fail when upstream was capable of rate
conversion, but not made aware that it had to occur.

Instead of fixating the rate, we can simply update our sink
template caps with whatever GValue the downstream caps are holding
as their rate field.

Allows negotiation to successfully complete with pipelines such as:

audiotestsrc ! audio/x-raw, rate=48000 ! audioresample ! audiomixer name=m ! \
audio/x-raw, rate={800, 1000} ! autoaudiosink \
audiotestsrc ! audio/x-raw, rate=44100 ! audioresample ! m.

4 years agortspconnection: data-offset increase not set
Göran Jönsson [Fri, 28 Jun 2019 05:22:17 +0000 (07:22 +0200)]
rtspconnection: data-offset increase not set

4 years agortpsconnection: Fix number of n_vectors
Göran Jönsson [Thu, 27 Jun 2019 06:04:07 +0000 (08:04 +0200)]
rtpsconnection: Fix number of n_vectors

Body_offset mean that so much data have been written.

Without this patch n_vectors somtimes  becomes one more than it should
and then there will be an vector that have a random size causing
writev_bytes to cause a "Bad address" error.

4 years agovideo-color: Add compile-time assert for ColorimetryInfo enum
Nirbheek Chauhan [Wed, 26 Jun 2019 11:35:04 +0000 (17:05 +0530)]
video-color: Add compile-time assert for ColorimetryInfo enum

A comment is not sufficient because this will break when
cherry-picking or backporting commits.

4 years agoaudiodecoder: Fix leak on failed audio gaps
Doug Nazar [Wed, 26 Jun 2019 07:39:54 +0000 (03:39 -0400)]
audiodecoder: Fix leak on failed audio gaps

If we fail to process the gap event we need to unref the event or
we end up with a leak.

4 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.

4 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.

4 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.

4 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.

4 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

4 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.

4 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

4 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

4 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

4 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.

4 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

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

4 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.

4 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

4 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

4 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

4 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

4 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.

4 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.

4 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

4 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

4 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

4 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

4 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

4 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.

4 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.

4 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

4 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

4 years agoid3tag: Correctly validate the year from v1 tags before passing to GstDateTime
Sebastian Dröge [Fri, 26 Apr 2019 06:44:07 +0000 (09:44 +0300)]
id3tag: Correctly validate the year from v1 tags before passing to GstDateTime

By using strtoul(), invalid values will get mapped to MAXULONG and we
would have to check errno. They won't get mapped to 0.

To solve this, use the signed g_ascii_strtoll(). This will map errors to
0 or G_MAXINT64 or G_MININT64, and the valid range for GstDateTime is >
0 and <= 9999 so we can directly check for this here.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/384

4 years agogl/wayland: Don't prefix wl_shell struct field
Niels De Graef [Wed, 24 Apr 2019 08:41:24 +0000 (10:41 +0200)]
gl/wayland: Don't prefix wl_shell struct field

As part of commit 808e7127, we prefixed the `GstWlWindow`'s `shell`
field with wl_, to differentiate it from the other types of shells a
Wayland compositor might support. However, this is apparently a struct
that we expose to our users, so changing it means we have an API break.

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

4 years agoeglimage: Add compatibility define for DRM_FORMAT_NV24
Sebastian Dröge [Tue, 23 Apr 2019 14:10:47 +0000 (17:10 +0300)]
eglimage: Add compatibility define for DRM_FORMAT_NV24

4 years agogl: Add various missing Since: 1.16 markers
Sebastian Dröge [Tue, 23 Apr 2019 11:31:45 +0000 (14:31 +0300)]
gl: Add various missing Since: 1.16 markers

And add some missing function documentation.

4 years agovideoaggregator: Add Since: 1.16 markers to all public structs
Sebastian Dröge [Tue, 23 Apr 2019 11:42:03 +0000 (14:42 +0300)]
videoaggregator: Add Since: 1.16 markers to all public structs

4 years agovideo-anc: Add Since: 1.16 marker
Sebastian Dröge [Tue, 23 Apr 2019 11:42:17 +0000 (14:42 +0300)]
video-anc: Add Since: 1.16 marker

4 years agoaudioaggregator: Add Since: 1.14 markers to all public structs
Sebastian Dröge [Tue, 23 Apr 2019 11:52:28 +0000 (14:52 +0300)]
audioaggregator: Add Since: 1.14 markers to all public structs

4 years agolibs: Fix various Since markers
Sebastian Dröge [Tue, 23 Apr 2019 12:05:43 +0000 (15:05 +0300)]
libs: Fix various Since markers

4 years agovideo-anc: Handle SD formats correctly
Sebastian Dröge [Mon, 22 Apr 2019 14:06:09 +0000 (17:06 +0300)]
video-anc: Handle SD formats correctly

VANC is stored linearly in SD formats instead of separating the Y and YV
components from each other and having first all Y and then all UV
values.

4 years agovideo-anc: Add DID16 value for SMPTE 2016-3 AFD/Bar data
Sebastian Dröge [Mon, 22 Apr 2019 15:33:20 +0000 (18:33 +0300)]
video-anc: Add DID16 value for SMPTE 2016-3 AFD/Bar data

4 years agovideo-overlay: change input param data type for setting wl_surface_id 21/210621/1 accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix accepted/tizen/5.5/unified/20191031.005830 accepted/tizen/5.5/unified/mobile/hotfix/20201027.062934 accepted/tizen/unified/20190725.220536 submit/tizen/20190724.035455 submit/tizen_5.5/20191031.000006 submit/tizen_5.5_mobile_hotfix/20201026.185106 tizen_5.5.m2_release
Hyunil [Tue, 23 Jul 2019 04:42:51 +0000 (13:42 +0900)]
video-overlay: change input param data type for setting wl_surface_id

Change-Id: Id6d2baaecac07673a28a9046bcc1ac2ed255d51a
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
5 years agoci: use template from 1.16 branch
Tim-Philipp Müller [Thu, 2 May 2019 11:35:19 +0000 (12:35 +0100)]
ci: use template from 1.16 branch

5 years agoRemove the dependency on the libmm-common 49/204349/1
Sangchul Lee [Tue, 23 Apr 2019 07:54:29 +0000 (16:54 +0900)]
Remove the dependency on the libmm-common

It is no longer used.

Change-Id: Ib8e7b3709687765c41be2dab6a4df1275849f19b
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
5 years agoRelease 1.16.0
Tim-Philipp Müller [Thu, 18 Apr 2019 23:19:55 +0000 (00:19 +0100)]
Release 1.16.0

5 years agoUpdate docs
Tim-Philipp Müller [Thu, 18 Apr 2019 23:19:55 +0000 (00:19 +0100)]
Update docs