Matthew Waters [Thu, 14 May 2020 04:00:22 +0000 (14:00 +1000)]
gl/display/egl: ensure debug category is initialized
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/662>
Nirbheek Chauhan [Mon, 11 May 2020 23:28:24 +0000 (04:58 +0530)]
meson: Pass native: false to add_languages()
This is needed for cross-compiling without a build machine compiler
available. The option was added in 0.54, but we only need this in
Cerbero and it doesn't affect older versions so it should be ok.
Will only cause a spurious warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/660>
Edward Hervey [Sat, 9 May 2020 05:31:04 +0000 (07:31 +0200)]
check: verify gst_gl_display_add_context()
As is done almost everywhere else. Doesn't cost anything.
CID #
1462817
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/657>
Matthew Waters [Fri, 8 May 2020 05:10:17 +0000 (15:10 +1000)]
tests/gl: add test for GL context removal
Tests functionality fixed by:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/654
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/656>
Thibault Saunier [Mon, 27 Apr 2020 13:57:30 +0000 (09:57 -0400)]
videorate: Fix buffer timestamp underflow in reverse playback
And fix reverse playback buffer duration computation as in reverse
playback, buffer duration is prev_buffer.pts - buffer.pts not pts -
next_pts (buffers are displayed from buffer.pts + buffer.duration for
a duration of buffers.duration).
This is now tested with the `validate.test.clock_sync.videorate.*`
tests in the default integration testsuite where we check the exact
data flow and the synchronization on the clock behaviour with a
TestClock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/646>
Thibault Saunier [Fri, 24 Apr 2020 00:35:39 +0000 (20:35 -0400)]
videotestsrc: Fix buffer duration in reverse playback
In reverse playback, buffers have to be displayed at buffer.stop running
time, meaning:
buffer.pts + buffer.duration = prev_buffer.pts
=>
buffer.duration = prev_buffer.pts - buffer.pts
We were setting buffer.duration = next_buffer.pts - buffer.pts which
is not correct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/646>
Sebastian Dröge [Wed, 6 May 2020 13:13:11 +0000 (16:13 +0300)]
gldisplay: Fix context leak when removing a context from the display
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/654>
Edward Hervey [Wed, 6 May 2020 07:26:35 +0000 (09:26 +0200)]
gldisplay: Fix list iteration
We were never moving past the first entry it seems...
CID #
1461275
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/654>
Tim-Philipp Müller [Thu, 27 Feb 2020 00:05:52 +0000 (00:05 +0000)]
tests: fix meson test env setup to make sure we use the right gst-plugin-scanner
If core is built as a subproject (e.g. as in gst-build), make sure to use
the gst-plugin-scanner from the built subproject. Without this, gstreamer
might accidentally use the gst-plugin-scanner from the install prefix if
that exists, which in turn might drag in gst library versions we didn't
mean to drag in. Those gst library versions might then be older than
what our current build needs, and might cause our newly-built plugins
to get blacklisted in the test registry because they rely on a symbol
that the wrongly-pulled in gst lib doesn't have.
This should fix running of unit tests in gst-build when invoking
meson test or ninja test from outside the devenv for the case where
there is an older or different-version gst-plugin-scanner installed
in the install prefix.
In case no gst-plugin-scanner is installed in the install prefix, this
will fix "GStreamer-WARNING: External plugin loader failed. This most
likely means that the plugin loader helper binary was not found or
could not be run. You might need to set the GST_PLUGIN_SCANNER
environment variable if your setup is unusual." warnings when running
the unit tests.
In the case where we find GStreamer core via pkg-config we use
a newly-added pkg-config var "pluginscannerdir" to get the right
directory. This has the benefit of working transparently for both
installed and uninstalled pkg-config files/setups.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/582>
Tim-Philipp Müller [Wed, 26 Feb 2020 23:46:57 +0000 (23:46 +0000)]
tests: don't look for plugins in -base installdir for tests
-base plugins will always be found in the build directory, and
core plugins will be found either also via the build directory
(if both core and -base are a subproject) or by getting the
pluginsdir via pkg-config if core is installed.
The GST_PLUGIN_LOADING_WHITELIST env var will make sure we only
pick up plugins from core/base and base plugins only from the
builddir.
There is no reason to look for -base plugins in the install dir.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/582>
Vivia Nikolaidou [Thu, 12 Mar 2020 07:38:58 +0000 (09:38 +0200)]
tcpserversrc: Add stats property
Like in tcpclientsrc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/651>
Sebastian Dröge [Wed, 6 May 2020 08:52:20 +0000 (11:52 +0300)]
discoverer: Check sinkpad existence before retrieving caps
Otherwise we would error out without releasing the caps first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/655>
Sebastian Dröge [Wed, 6 May 2020 08:44:39 +0000 (11:44 +0300)]
discoverer: Ensure that we have fixed, non-empty caps before passing passing to is_subtitle_caps()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/655>
Sebastian Dröge [Wed, 6 May 2020 08:42:05 +0000 (11:42 +0300)]
discoverer: Try to get negotiated caps first on pad-added and only then fall back to a caps query
The negotiated caps will be more accurate and are fixed caps in any
case.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/498
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/655>
Edward Hervey [Tue, 5 May 2020 15:17:57 +0000 (17:17 +0200)]
gloverlaycompositor: Don't leak caps feature
Only copy it if we really are going to modify and use it
CID #
1439873
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/652>
Sebastian Dröge [Fri, 1 May 2020 08:27:46 +0000 (11:27 +0300)]
videoaggregator: Don't crash when setting pad properties after the aggregator was finalized
The application might still have a strong reference to a pad and change
properties, which should work without crashing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/649>
Sebastian Dröge [Fri, 1 May 2020 07:08:40 +0000 (10:08 +0300)]
Add missing colons to Since markers in the docs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/648>
Philippe Normand [Thu, 30 Apr 2020 16:59:45 +0000 (17:59 +0100)]
gl: Add since tags for new glbasesrc base class
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/647>
Philippe Normand [Thu, 30 Apr 2020 16:59:24 +0000 (17:59 +0100)]
gst/gl: Add documentation for new scroll API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/647>
Philippe Normand [Thu, 30 Apr 2020 16:58:43 +0000 (17:58 +0100)]
navigation: Add since tag for new API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/647>
He Junyan [Tue, 28 Apr 2020 13:27:36 +0000 (21:27 +0800)]
test: pbutils: Add check for high throughput scc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645>
He Junyan [Tue, 28 Apr 2020 13:14:07 +0000 (21:14 +0800)]
libs: pbutils: Add High throughput scc extensions profile idc(IDC 11)
It is compitable with scc and we can use scc's function to identify it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645>
He Junyan [Tue, 28 Apr 2020 11:10:05 +0000 (19:10 +0800)]
libs: pbutils: select extension profile by profile idc.
the old manner does not consider the profile idc. The profile idc should
play an more important role in recognizing the profile than the other
information. And there is no need to mix profiles of different extensions
together to find the closest profile when the bits stream is not standard,
different extensions support different features and should not be mixed.
The correct way should be recognize the extension category by profile idc
firstly, and then find the closest profile.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645>
He Junyan [Tue, 28 Apr 2020 10:17:30 +0000 (18:17 +0800)]
libs: pbutils: rename the GstH265FormatRangeExtensionProfile.
GstH265FormatRangeExtensionProfile declares the common bits used
for not only format range extensions profiles, but also for several
different h265 extension profiles, such as high throughput, screen
content coding extensions, etc. And So the old name is not proper.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/645>
Guillaume Desmottes [Mon, 27 Apr 2020 07:40:23 +0000 (09:40 +0200)]
opusdec: prevent 'channels=0' in caps
gst_opus_channel_positions() should fail if caps contains "channels=0".
Prevent index underflow when indexing gst_opus_channel_positions[] (CID
1462590).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/644>
Matthew Waters [Fri, 24 Apr 2020 12:40:10 +0000 (22:40 +1000)]
glbasesrc: avoid deadlock when querying for OpenGL context
Continuation of:
a4e49ba8c9657e2230aad32b6988bbda7a755440
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/642
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/643>
Matthew Waters [Fri, 24 Apr 2020 12:38:32 +0000 (22:38 +1000)]
gl: fix application context querying between elements
Fixes error introduced by:
a4e49ba8c9657e2230aad32b6988bbda7a755440
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/642
Using the application GL context as the local GL context is not going to
work very well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/643>
Guillaume Desmottes [Thu, 23 Apr 2020 08:17:31 +0000 (10:17 +0200)]
opusdec: add 'stats' property
Allow users to retrieve the number of samples, and their duration,
generated using PLC.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/641>
Matthew Waters [Fri, 24 Apr 2020 04:44:46 +0000 (14:44 +1000)]
gl: avoid deadlock querying for OpenGL context
If there are two elements and threads attempting to query each other for
an OpenGL context. The locking may result in a deadlock.
We need to unlock each element's context_lock when querying another
element for the OpenGL context in order to allow any other element to
take the lock when the other element is querying for an OpenGL context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/642>
Matthew Waters [Tue, 21 Apr 2020 10:09:41 +0000 (20:09 +1000)]
tests: add glviewconvert users integration unit test
Catch all smoke test for ensuring a basic pipeline can negotiate
successfully.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/638>
Jan Schmidt [Tue, 21 Apr 2020 12:56:49 +0000 (22:56 +1000)]
textrender: Don't calculate caps on every buffer
Only renegotiate with downstream when the srcpad has a pending
reconfigure flag, instead of querying, fixating and sending caps
for every buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/640>
Sebastian Dröge [Sun, 19 Apr 2020 15:29:18 +0000 (18:29 +0300)]
video-anc: Register an init function for Bar meta
The init function is mandatory and we keep around uninitialized memory
otherwise.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/747
Matthew Waters [Fri, 10 Apr 2020 04:08:15 +0000 (14:08 +1000)]
glvideomixer: fix black output after display changes
Partial revert of
55e80b550e4ad02aaf44b30ec8b03da9ee485ac6
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/743
Matthew Waters [Fri, 10 Apr 2020 04:05:08 +0000 (14:05 +1000)]
glvideomixer: intersect with template caps when updating
Downstream may provide extra things when we ask it for caps that we may
need to remove.
Fixes the following pipeline warning:
gltestsrc ! glvideomixerelement ! glimagesinkelement
** (gst-launch-1.0:908581): WARNING **: 13:53:28.518: glvideomixer0: update_src_caps returned caps which are not a real subset of the filter caps
Jan Schmidt [Fri, 10 Apr 2020 12:45:26 +0000 (22:45 +1000)]
typefind: Consider MPEG-PS PSM to be a PES type
Include the Program Stream Map packet type 0xBC in the
set of packets we treat as PES. This fixes typefinding
on MPEG-PS streams with PSM, where the PSM would previously
be considered a loss-of-sync and cause the typefind
to require more data.
Philippe Normand [Mon, 12 Aug 2019 09:41:31 +0000 (10:41 +0100)]
uridecodebin3: Activate suburi playback item
The suburi playback item has to be activated after the main playback item so
that playsink can properly enable text rendering.
Fixes #451
Jan Schmidt [Thu, 9 Apr 2020 18:24:03 +0000 (04:24 +1000)]
textrender: Fix AYUV output.
Fix the check for whether the element is operating in ARGB mode. It
was incorrectly checking if the output format has an alpha channel,
which is true for both ARGB and AYUV, leading to the element
incorrectly outputting ARGB values into AYUV caps.
He Junyan [Wed, 8 Apr 2020 07:26:23 +0000 (15:26 +0800)]
libs: gl: Fix a context leak when display_create_context failed
Thibault Saunier [Fri, 3 Apr 2020 13:36:02 +0000 (10:36 -0300)]
discoverer: Enhance printed information when not verbose
Basically print information about media tracks making without tags
nor buffers in caps making still quite small but containing all
information infos.
Stop making 'Topology' section and just print the info
before:
```
Topology:
container: MPEG-2 Transport Stream
audio: AC-3 (ATSC A/52)
video: H.264 (High Profile)
Properties:
Duration: 0:00:05.
512394259
Seekable: yes
Live: no
Tags:
audio codec: AC-3 (ATSC A/52)
bitrate: 192000
video codec: H.264 (High Profile)
minimum bitrate: 12947
maximum bitrate: 12947
```
After:
```
Properties:
Duration: 0:00:05.
512394259
Seekable: yes
Live: no
container: MPEG-2 Transport Stream
audio: AC-3 (ATSC A/52)
Stream ID:
b076403d73e0c5fc13985832e8d585945603993437ba14b0799f422f9495e8ef:1/
00001100
Language: <unknown>
Channels: 2 (front-left, front-right)
Sample rate: 48000
Depth: 32
Bitrate: 192000
Max bitrate: 0
video: H.264 (High Profile)
Stream ID:
b076403d73e0c5fc13985832e8d585945603993437ba14b0799f422f9495e8ef:1/
00001011
Width: 1920
Height: 1080
Depth: 24
Frame rate: 30000/1001
Pixel aspect ratio: 1/1
Interlaced: true
Bitrate:
10363396
Max bitrate: 12947
```
Sebastian Dröge [Mon, 6 Apr 2020 12:20:39 +0000 (15:20 +0300)]
typefindfunctions: Fix otio typefinder to actually detect otio files
The string "\"OTIO_SCHEMA\":" is 14 characters and not 15. Checking for
15 characters would also check for the final '\0', which does not exist
in any otio file as the string is the key of a JSON map.
Sebastian Dröge [Mon, 6 Apr 2020 12:14:41 +0000 (15:14 +0300)]
typefindfunctions: Fix otio typefinder detecting anything with curly braces at the start
memcmp() returns 0 (aka FALSE) on match and a difference otherwise.
Previously the typefinder was matching on anything but otio files that
happened to have some curly braces in the beginning of the file.
Fixes a false positive with a MOV file.
Thibault Saunier [Fri, 20 Mar 2020 13:58:19 +0000 (10:58 -0300)]
pbutils: Add EncodingProfile serialization support
Thibault Saunier [Thu, 19 Mar 2020 20:02:57 +0000 (17:02 -0300)]
pbutils: Support for variable framerate in the encoding serialization
Jan Schmidt [Thu, 2 Apr 2020 12:30:57 +0000 (23:30 +1100)]
video-hdr: Fix a docs typo (x -> y)
Jan Schmidt [Fri, 30 Nov 2018 12:10:55 +0000 (23:10 +1100)]
audiodecoder: Handle instant-rate-change event
When receiving an instant-rate-change event, store the updated
seek flags and replace the flags in any input segments with them
to allow for instant switching between trickmodes and not.
Jan Schmidt [Fri, 30 Nov 2018 11:56:11 +0000 (22:56 +1100)]
videodecoder: Handle instant-rate-change event
When receiving an instant-rate-change event, store the updated
seek flags and replace the flags in any input segments with them
to allow for instant switching between trickmodes and not.
Jan Schmidt [Fri, 28 Sep 2018 14:49:46 +0000 (00:49 +1000)]
audiobasesink: Handle an extra case of buffers being out of segment
It's possible that a buffer might be within the segment proper,
but not within the "valid" part we're playing, which is only
things after the 'offset' part of the segment. In that case,
the running-times of the buffer-start and buffer-stop will be
GST_CLOCK_TIME_NONE, and we'd better not schedule playback that
far in the future.
Jan Schmidt [Mon, 20 Aug 2018 16:21:23 +0000 (02:21 +1000)]
gst-play: Add -i parameter for instant rate changes
Add a command line flag that enables use of the
instant rate changes flag when doing rate changes.
Jan Schmidt [Fri, 17 Aug 2018 17:37:09 +0000 (03:37 +1000)]
tests/examples/seek/instant-rate-change: Add example app
Add an example app to exercise instant rate changes in a few
scenarios. Currently it deadlocks a lot sending rate changes to
paused pipelines.
Sebastian Dröge [Mon, 18 Jun 2018 05:51:05 +0000 (08:51 +0300)]
playback-test: Add support for start_type=stop_type=NONE seeks
Sebastian Dröge [Fri, 25 May 2018 08:01:58 +0000 (11:01 +0300)]
playback-test: Add support for sending instant-rate-change seeks
Stéphane Cerveau [Wed, 1 Apr 2020 15:47:04 +0000 (17:47 +0200)]
videoencoder: subclass 'set_format' should be optional
Aligns documentation with the code to make the subclass
'set_format' call optional.
Seungha Yang [Tue, 10 Mar 2020 11:36:16 +0000 (20:36 +0900)]
video-hdr: Rework for GstVideoMasteringDisplayInfo and GstVideoContentLightLevel struct
This commit modifies GstVideoMasteringDisplayInfo and GstVideoContentLightLevel
structs so that each value is to be more like hdr_metadata_infoframe struct
of linux drm header and DXGI_HDR_METADATA_HDR10 struct of Windows.
So each value is no more fraction but normalized one as per CTA 861.G spec.
Also the unit of each value will be consistent with H.264, H.265
specifications, hdr_metadata_infoframe struct for linux and
DXGI_HDR_METADATA_HDR10 struct for Windows.
Matthew Waters [Wed, 1 Apr 2020 09:05:06 +0000 (20:05 +1100)]
videoaggregator: fix gir warning about invalid doc comment
[38/1301] Generating GstVideo-1.0.gir with a custom command.
../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoaggregator.c:231: Error: GstVideo: identifier not found on the first line:
*
^
Haihao Xiang [Wed, 1 Apr 2020 05:55:50 +0000 (13:55 +0800)]
gl: add support for Y412_LE / Y412_BE format
Reuse Y410 code for Y412_LE / Y412_BE except gl format. The gl format is
RGBA16 for Y412_LE / Y412_BE.
Sample pipeline:
gst-launch-1.0 videotestsrc ! video/x-raw,format=Y412_LE ! glimagesink
Haihao Xiang [Mon, 30 Mar 2020 06:37:26 +0000 (14:37 +0800)]
gl: add support for Y212_LE / Y212_BE format
Because the color value is stored in MSB, so we can reuse the
Y210 code for P012_LE / P012_BE
Sample pipeline:
gst-launch-1.0 videotestsrc ! video/x-raw,format=Y212_LE ! glimagesink
Mathieu Duponchelle [Fri, 27 Mar 2020 01:48:39 +0000 (02:48 +0100)]
gstvideoaggregator: expose max-last-buffer-repeat property on pads
This can be used to have compositor display either the background
or a stream on a lower zorder after a live input stream freezes
for a certain amount of time, for example because of network
issues.
Mathieu Duponchelle [Fri, 20 Mar 2020 18:09:17 +0000 (19:09 +0100)]
subparse: convert from pango-markup to utf8 ..
when downstream requires it
Haihao Xiang [Thu, 12 Mar 2020 02:27:34 +0000 (10:27 +0800)]
video: add support for Y412 format
Y412 is a packed 12 bits 4:4:4:4 format in the order U, Y, V, A, 2 bytes
per component with the color value stored in the 12 most significant
bits
Refer to https://github.com/torvalds/linux/blob/master/include/uapi/drm/drm_fourcc.h#L182
for the LE variant
Haihao Xiang [Wed, 11 Mar 2020 02:58:00 +0000 (10:58 +0800)]
video: add support for Y212 format
Y212 is a packed 12 bits 4:2:2 format in the order Y, U, Y, V, 2 bytes
per component with the color value stored in the 12 most significant
bits
Refer to https://github.com/torvalds/linux/blob/master/include/uapi/drm/drm_fourcc.h#L174
for the LE variant
Sebastian Dröge [Thu, 12 Mar 2020 13:18:22 +0000 (15:18 +0200)]
video-blend: Add support for blending on top of 16 bit per component formats
With this we can support every currently supported video format for
blending.
Matthew Waters [Thu, 26 Mar 2020 02:51:24 +0000 (13:51 +1100)]
glcontext/cocoa: handle sending one message during shutdown
gst_gl_window_quit() will attempt to send a message but will be called
from GstGLContext's finalize handler and so the weak ref that backs
gst_gl_window_get_context will return NULL as it has already been
cleared. We need that context in send_message_async to decide whether
to run the provided callback immediately or queue in GCD
Matthew Waters [Thu, 26 Mar 2020 02:50:52 +0000 (13:50 +1100)]
glcontext: add context is valid precondition to get_thread()
Matthew Waters [Thu, 26 Mar 2020 02:50:22 +0000 (13:50 +1100)]
glwindow: remove unused private alive variable
Haihao Xiang [Thu, 26 Mar 2020 05:46:56 +0000 (13:46 +0800)]
glupload: fix segfault
Without this fix, it is possible that outbuf is not initialized, which
will result in segfault when call gst_buffer_replace (&outbuf, NULL). In
addition, the patch fixes potential memory leak in restart path.
The segfault can be reproduced by the pipeline below:
GST_GL_PLATFORM=egl \
gst-launch-1.0 videotestsrc ! msdkh265enc ! msdkh265dec ! \
'video/x-raw(memory:DMABuf)' ! glimagesink
Haihao Xiang [Tue, 24 Mar 2020 04:39:50 +0000 (12:39 +0800)]
gl: add support for P012_LE / P012_BE format
Because the color value is stored in MSB, so we can reuse the
P016_LE / P016_BE code for P012_LE / P012_BE
Chris Lord [Mon, 9 Mar 2020 10:21:53 +0000 (10:21 +0000)]
glupload: Fix fallback from direct dmabuf to dmabuf upload method
In the situation that the direct dmabuf path is chosen, but with an
unsupported texture format, this causes accept to fail rather than
continue and fail at the upload stage. It is also possibly necessary to
reconfigure after falling back from direct to non-direct dmabuf upload
paths.
Seungha Yang [Mon, 23 Mar 2020 09:42:19 +0000 (18:42 +0900)]
videorate: Signalling reconfigure to upstream whenever updating downstream caps
Previously configured bufferpool can be expired/inactivate by the
updated caps. Therefore new reconfigure event should be signalled in order to
do allocation query dancing between upstream and downstream again.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/730
Loïc Minier [Sat, 14 Mar 2020 19:22:50 +0000 (20:22 +0100)]
pkgconfig: fix missing gst-tag Requires
Promote deps gstreamer-tag to Requires for pbutils and add missing
gstreamer-tag Requires for gst-audio. Uninstalled builds would fail
with:
stage/usr/local/lib/x86_64-linux-gnu/libgstpbutils-1.0.so: undefined reference to `gst_tag_list_to_vorbiscomment_buffer'
[...]
stage/usr/local/lib/x86_64-linux-gnu/libgstaudio-1.0.so: undefined reference to `gst_tag_register_musicbrainz_tags'
Loïc Minier [Sat, 14 Mar 2020 18:42:24 +0000 (19:42 +0100)]
pkgconfig: add missing gst-rtp dep to gst-sdp
Uninstalled builds using rtp would fail with:
stage/usr/local/lib/x86_64-linux-gnu/libgstsdp-1.0.so: undefined reference to `gst_rtp_payload_info_for_pt'
Víctor Manuel Jáquez Leal [Sat, 21 Mar 2020 13:03:44 +0000 (14:03 +0100)]
videodecoder: fix documentation
Fix list indentation, othewise it is interpreted as verbatim.
Niels De Graef [Tue, 17 Mar 2020 17:40:26 +0000 (18:40 +0100)]
navigation: Use G_DEFINE_INTERFACE
Niels De Graef [Tue, 17 Mar 2020 17:20:59 +0000 (18:20 +0100)]
streamvolume: Use G_DECLARE_INTERFACE
Niels De Graef [Tue, 17 Mar 2020 16:51:36 +0000 (17:51 +0100)]
gstphysmemory: Use G_DECLARE_INTERFACE
Niels De Graef [Tue, 17 Mar 2020 16:47:47 +0000 (17:47 +0100)]
audiovisualizer: Add support for g_autoptr()
Ideally, we would use something like `G_DECLARE_DERIVABLE_TYPE`, but
that would break API.
Miguel Paris [Thu, 20 Feb 2020 16:25:19 +0000 (17:25 +0100)]
rtpbuffer: add_extension_onebyte_header: fix the proper wordlen
The wordlen ("length") MUST represent the total "number of 32-bit words
in the extension, excluding the four-octet extension header" (rfc3550).
There are cases where already existent padding is reused for adding
the new extension. So the new wordlen should be updated if the new
added extension makes it to increase.
Miguel Paris [Fri, 13 Dec 2019 15:06:44 +0000 (16:06 +0100)]
rtpbuffer: get_onebyte_header_end_offset: allow 0 offset
There are some cases where the full extension data could be padding.
In order to make the GstRtpBuffer robust enough, this change supports
this case.
Philippe Normand [Mon, 10 Feb 2020 18:17:42 +0000 (18:17 +0000)]
gl/wayland: Mouse events handling
Philippe Normand [Mon, 10 Feb 2020 18:05:01 +0000 (18:05 +0000)]
gl/navigation: Scroll events dispatch support
Philippe Normand [Mon, 10 Feb 2020 17:55:24 +0000 (17:55 +0000)]
navigation: Mouse scroll events support
This patch introduces a new API to send and parse mouse scroll events. Mouse
event coordinates are sent relative to the display space of the related output
area. This is usually the size in pixels of the window associated with the
element implementing the GstNavigation interface.
Guillaume Desmottes [Wed, 18 Mar 2020 14:38:25 +0000 (15:38 +0100)]
audio: annotate @buf in finish_frame methods
Haihao Xiang [Thu, 27 Feb 2020 09:52:20 +0000 (17:52 +0800)]
video: add support for P012 format
P012 is a semi-planar 4:2:0 format, 2bytes per component with the value
stored in the 12 most significant bits
Niels De Graef [Thu, 12 Mar 2020 12:32:23 +0000 (13:32 +0100)]
volume: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 12:31:22 +0000 (13:31 +0100)]
videotestsrc: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 12:29:22 +0000 (13:29 +0100)]
videoscale: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 12:27:40 +0000 (13:27 +0100)]
videorate: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 12:25:47 +0000 (13:25 +0100)]
videoconvert: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 12:23:36 +0000 (13:23 +0100)]
subparse: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 12:20:51 +0000 (13:20 +0100)]
rawparse: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 12:20:31 +0000 (13:20 +0100)]
overlaycomposition: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 07:02:02 +0000 (08:02 +0100)]
gio: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 06:55:52 +0000 (07:55 +0100)]
encoding: Use G_DECLARE_FINAL_TYPE
Note that we didn't do it for encodebin, as it has a class struct. We
_could_ techincally use `G_DECLARE_DERIVABLE_TYPE()` for that one, but
that would mean also using a private struct, which is even more work for
no gain.
Niels De Graef [Thu, 12 Mar 2020 06:51:24 +0000 (07:51 +0100)]
adder: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 06:49:45 +0000 (07:49 +0100)]
audioconvert: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 06:46:47 +0000 (07:46 +0100)]
audiomixer: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 06:44:28 +0000 (07:44 +0100)]
audiorate: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 06:42:52 +0000 (07:42 +0100)]
audioresample: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 06:41:16 +0000 (07:41 +0100)]
audiotestsrc: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Thu, 12 Mar 2020 06:39:09 +0000 (07:39 +0100)]
compositor: Use G_DECLARE_FINAL_TYPE
Niels De Graef [Sat, 14 Mar 2020 13:42:12 +0000 (14:42 +0100)]
*aggregator: Add g_autoptr support for *ConvertPad