Sebastian Dröge [Tue, 23 Jul 2019 10:54:24 +0000 (13:54 +0300)]
typefindfunctions: Check for NULL return of gst_type_find_peek() instead of segfaulting in otio typefinder
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/329#note_194943
Wonchul Lee [Tue, 23 Jul 2019 00:09:35 +0000 (09:09 +0900)]
gldisplay: fix g-i warning
Thibault Saunier [Fri, 12 Jul 2019 20:37:10 +0000 (16:37 -0400)]
typefind: Add typefind functions for fcpxml, xmel and otio file formats
Mathieu Duponchelle [Fri, 19 Jul 2019 16:52:02 +0000 (18:52 +0200)]
aggregator tests: fix seek event seqnums
In
https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/207,
aggregator starts ignoring seek events with duplicate seqnums. We thus
need to update the seqnum of events when reusing them multiple times.
Guillaume Desmottes [Tue, 16 Jul 2019 10:23:01 +0000 (12:23 +0200)]
video-format: add gst_video_format_info_component()
New API to find out which components are packed in a given plane.
Will prevent us from assuming a 1-1 mapping between planes and
components.
Mathieu Duponchelle [Fri, 12 Jul 2019 14:56:52 +0000 (16:56 +0200)]
basedepayload: do not create segment in onvif mode
basedepayload generates its own segment in a pretty unconventional
manner, relying on information in the caps such as npt-start or
npt-stop, usually set by rtspsrc.
In ONVIF mode, rtspsrc will generate the correct segment and this
logic in rtpbasedepayload will not be needed, this commit allows
rtspsrc to signal that through the caps.
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.
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.
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.
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
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.
Nirbheek Chauhan [Wed, 17 Jul 2019 13:41:12 +0000 (19:11 +0530)]
meson: Don't generate doc cache when no plugins are enabled
Fixes gst-build with -Dauto-features=disabled
Seungha Yang [Tue, 16 Jul 2019 17:44:12 +0000 (02:44 +0900)]
video-color: Enhance documentation of gst_video_colorimetry_to_string()
It could return null string. So need to clarify when it will be null.
Seungha Yang [Wed, 10 Jul 2019 03:46:17 +0000 (12:46 +0900)]
tests: video: Add test conversion between colorimetry and ISO/IEC 23001-8 values
Test forward/backword conversion of color{matrix,transfer,primaries}.
Seungha Yang [Tue, 9 Jul 2019 15:16:58 +0000 (00:16 +0900)]
video-color: Add util functions for conversion from/to ISO/IEC 23001-8
... and also as known as ITU-T H.273.
The conversion has been handled per plugin for now. That causes
code duplication a lot also some plugins might not be updated with newly introduced
color{matrix,transfer,primaries} enum value(s).
Instead of handling it per plugin, centralized handling can remove such
code duplication and make plugins be up-to-dated.
Sebastian Dröge [Tue, 9 Jul 2019 11:28:46 +0000 (14:28 +0300)]
sdp: Add support for parsing the extmap attribute from caps and storing inside caps
The extmap attribute allows mapping RTP extension header IDs to
well-known RTP extension header specifications. See RFC8285 for details.
We store the extmap attribute either as string in the caps
extmap-X=extensionname
where X is the integer extension header ID, or as 3-tuple of strings
extmap-X=<direction,extensionname,extensionattributes>
where direction or extensionattributes are allowed to be the empty
string.
Both formats are allowed because usually only the extension name is
given and it's much simpler to handle in caps.
Thibault Saunier [Wed, 10 Jul 2019 21:57:13 +0000 (21:57 +0000)]
Revert "typefind: Hold off making suggestions too early for MPEG based formats"
This reverts commit
36319169d06f778acee2b33d728d2089d15370d6
Thomas Bluemel [Wed, 26 Jun 2019 21:53:11 +0000 (15:53 -0600)]
typefind: Hold off making suggestions too early for MPEG based formats
By suggesting possible detection too early, it's possible that
the wrong format is detected. Hold off making suggestions until one
of the following conditions is met:
* Probability > GST_TYPE_FIND_LIKELY
* At least MPEG_MIN_PROBE_LENGTH bytes have been examined
* EOS, in which case the best guess wins
Fixes #628
Seungha Yang [Tue, 9 Jul 2019 16:27:43 +0000 (01:27 +0900)]
examples: win32-videooverlay: Fix C2440 build error
Follow WNDPROC define to avoid implicit type conversion.
Dylan McCall [Wed, 26 Jun 2019 02:15:29 +0000 (19:15 -0700)]
gstgldisplay: Add public foreign_display property
We use this property in gst_gl_display_egl_from_gl_display, to set
foreign_display for the new GstGLDisplayEGL instance. This fixes a
problem where gst_gl_display_egl_finalize calls EglTerminate on a
pre-existing EGL connection.
Sumaid Syed [Fri, 5 Jul 2019 14:44:34 +0000 (20:14 +0530)]
tag: Add tags for acoustid id & acoustid fingerprint
Mapping followed: https://picard.musicbrainz.org/docs/mappings/
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/612
Sumaid [Wed, 22 May 2019 08:56:42 +0000 (14:26 +0530)]
tag: Repair support for MusicBrainz IDs
Add missing release group ID and track ID
Mapping Followed:
https://picard.musicbrainz.org/docs/mappings/
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/612
Seungha Yang [Sat, 6 Jul 2019 08:02:27 +0000 (17:02 +0900)]
examples: Add a video overlay example for WIN32 videosink elements
User can set the target WIN32 video element via "videosink" command line
option. Default is glimagesink.
Marc Leeman [Wed, 3 Jul 2019 09:07:06 +0000 (09:07 +0000)]
egl: wl_egl_window is not wl_proxy
It seems that eglCreatePlatformWindowSurfaceEXT is failing (with
EGL_BAD_ALLOC) because it thinks an EGL surface has already been created
for the wl_egl_window. The reason is that the "driver_private" field of
the wl_egl_window is getting clobbered by the function
wl_proxy_set_queue().
Since a wl_egl_window is not a wl_proxy, it shouldn't be passed to
wl_proxy_set_queue(). It just wraps a wl_surface (which is a wl_proxy).
And it looks like the queue for that surface is getting set earlier on
in the function anyway.
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/621#note_184582
Seungha Yang [Sun, 30 Jun 2019 04:10:50 +0000 (13:10 +0900)]
gst-play: Handle "space" key event correctly on Windows
The key name string given by GetKeyNameText() can have uppercase letter.
Göran Jönsson [Fri, 28 Jun 2019 05:22:17 +0000 (07:22 +0200)]
rtspconnection: data-offset increase not set
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.
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.
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.
Tim-Philipp Müller [Mon, 24 Jun 2019 09:44:29 +0000 (09:44 +0000)]
compositor: fix compiler warning due to c99-ism
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.
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.
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
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
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.
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
Haihao Xiang [Fri, 14 Jun 2019 06:53:56 +0000 (14:53 +0800)]
glformat: removde dead break after return
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
Seungha Yang [Mon, 15 Oct 2018 13:35:09 +0000 (22:35 +0900)]
tests: pbutils: Add test parsing H265 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
Wonchul Lee [Sat, 15 Jun 2019 05:33:32 +0000 (14:33 +0900)]
appsrc: Fix typo in documentation
Wonchul Lee [Sat, 15 Jun 2019 01:41:29 +0000 (10:41 +0900)]
videodecoder: Fix typo in documentation
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.
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.
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.
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.
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.
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
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
Nirbheek Chauhan [Sun, 26 May 2019 16:28:18 +0000 (18:28 +0200)]
compositor: Don't log per-frame under GST_INFO
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.
Nirbheek Chauhan [Sun, 26 May 2019 13:23:25 +0000 (15:23 +0200)]
compositor: Add some comments, remove outdated ones
Nirbheek Chauhan [Sun, 26 May 2019 13:23:06 +0000 (15:23 +0200)]
compositor: Remove unused function argument
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
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.
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
Matthew Waters [Thu, 13 Jun 2019 05:36:56 +0000 (15:36 +1000)]
glcontext: add a couple of preconditions of invalid usage
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.
Havard Graff [Tue, 16 Oct 2018 14:56:26 +0000 (16:56 +0200)]
meson: add rtpmeta-tests
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...
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.
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.
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.
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
Thibault Saunier [Sat, 8 Jun 2019 02:29:10 +0000 (22:29 -0400)]
discoverer: Plug some leaks in the cache loading path
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
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
Mathieu Duponchelle [Wed, 5 Jun 2019 20:25:45 +0000 (22:25 +0200)]
valgrind: suppress incorrect conditional error in orc backup code
Mathieu Duponchelle [Wed, 5 Jun 2019 20:20:43 +0000 (22:20 +0200)]
discoverer: unref "next" variant when parsing from variant
Mathieu Duponchelle [Wed, 5 Jun 2019 20:10:47 +0000 (22:10 +0200)]
valgrind: free buffer list in audiorate test
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
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
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).
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.
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
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
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.
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
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.
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
Mathieu Duponchelle [Wed, 29 May 2019 23:12:59 +0000 (01:12 +0200)]
doc: remove xml from comments
Thibault Saunier [Wed, 29 May 2019 18:41:10 +0000 (14:41 -0400)]
overlaycompositor: Show the full example instead of a stripped down version
Tim-Philipp Müller [Wed, 29 May 2019 10:14:05 +0000 (11:14 +0100)]
docs: update plugin docs cache
Nicolas Dufresne [Tue, 14 May 2019 01:11:12 +0000 (21:11 -0400)]
doc: Add gstoverlaycomposition to the plugins list
Mathieu Duponchelle [Sat, 25 May 2019 17:43:33 +0000 (19:43 +0200)]
Update plugin cache
Mathieu Duponchelle [Sat, 25 May 2019 15:26:52 +0000 (17:26 +0200)]
gstglfiltershader: don't try to link to "version" in doc
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.
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.
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
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.
Arun Raghavan [Fri, 24 May 2019 14:35:08 +0000 (16:35 +0200)]
video-color: Fix unknown colorimetry checking
Also drop some deadcode #defines.
Seungha Yang [Sun, 5 May 2019 12:02:46 +0000 (21:02 +0900)]
tests: video: Enable PQ and HLG transfer en/decode tests
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.
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.
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.
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.
Matthew Waters [Mon, 20 May 2019 01:14:27 +0000 (11:14 +1000)]
gl/docs: add to new docs system
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
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
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