Nirbheek Chauhan
8e1b6accbd
meson: Always use forward slashes in defines with paths
...
Fixes the following build failure on MSYS2:
```
../subprojects/gstreamer/tests/check/elements/filesrc.c: In function 'test_seeking':
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: error: incomplete universal character name \U
107 | g_object_set (G_OBJECT (src), "location", TESTFILE, NULL);
| ^
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\A'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\s'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\g'
../subprojects/gstreamer/tests/check/elements/filesrc.c:107:53: warning: unknown escape sequence: '\c'
```
Due to: `-DTESTFILE=\"C:\\Users\\Administrator\[...]`
https://gitlab.freedesktop.org/nirbheek/gstreamer/-/jobs/45317733
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5018 >
2023-07-12 21:17:25 +00:00
Philippe Normand
4dc503e1e4
decodebin3: Remove spurious input locking during parsebin reconfiguration
...
Commit 22917b140f
added extra locks in
`reset_input_parsebin()` but all call sites of that function already take the
input lock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5022 >
2023-07-12 18:33:00 +00:00
Matthew Waters
a2d9584b27
gl: provide a pkg-config/gir file for the viv-fb backend
...
Required to be able to generate coherent bindings for window system
specific APIs due to limitations in gobject-introspection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5020 >
2023-07-12 21:35:55 +10:00
Matthew Waters
ffb2e87fd4
gl: don't install the viv-fb window header file
...
It is not needed at all by any external implementations and should not
be exposed to the outside world.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5020 >
2023-07-12 21:31:45 +10:00
Maksym Khomenko
831737124f
appsink: add missing make_writable call
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4991 >
2023-07-11 07:08:38 +00:00
Edward Hervey
654609ef15
dsd: Fix documentation parameters
...
There were some inconsistencies between documentation and function signatures
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5002 >
2023-07-11 05:17:55 +00:00
Tim-Philipp Müller
15957bcdc9
Revert "base: videosink: Avoid positing message on the bus before being constructed"
...
This reverts commit 893e4ed0dd
.
This caused regressions in existing elements which override/set things
like QoS and such in their own init functions. If the base class does
this in ::constructed() now it will override the subclass settings
again with its own, which can have unintended side-effects.
Case in point is gdkpixbufsink which disabled QoS there, and this
patch would reliably make the unit test fail in valgrind because
now frames are dropped because of QoS (when QoS should really be
disabled).
Fixes #2794
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5006 >
2023-07-10 21:54:51 +00:00
Thibault Saunier
893e4ed0dd
base: videosink: Avoid positing message on the bus before being constructed
...
`gst_base_sink_set_processing_deadline` can post messages on the bus
which triggers traces for not constructed objects which fails in rust
tracers as object should have names in all traces.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4975 >
2023-07-06 05:48:31 +00:00
Thibault Saunier
8d603b3e1d
bad: audioaggregator: Do not post message before being constructed
...
`gst_aggregator_set_latency` will post a message on the bus which
triggers traces for not constructed objects which fails in rust tracers
as object should have names in all traces.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4975 >
2023-07-06 05:48:31 +00:00
Sebastian Dröge
e63548906c
video: Move NV12_10LE40_4L4 before the BE variant on LE platforms
...
This keeps the sorting rules for the format list intact.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4974 >
2023-07-06 00:11:45 +01:00
Matthew Waters
cae434c6ff
videorate: properly handle variable framerate input and drop-only=true
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4969 >
2023-07-05 19:33:59 +00:00
Sebastian Dröge
44ffb80a32
audio: Extend guards in functions to also cover negative/unknown out of bounds DSD formats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4966 >
2023-07-05 12:08:33 +00:00
Sebastian Dröge
6b47a37ed8
audio: Change value of GST_DSD_FORMAT_UNKNOWN to 0
...
GObject and calloc() etc are initializing memory to 0, so using 0 as the
unknown variant makes it more likely that mistakingly zero-initialized
memory does not end up with a wrong DSD format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4966 >
2023-07-05 12:08:33 +00:00
Sebastian Dröge
030bf5e560
audio: Make GST_DSD_FORMAT_UNKNOWN -1 instead of 0xffffffff
...
0xffffffff is mapped to 2**32 - 1 but GLib enums are signed ints so this
value is out of range and causes problems with bindings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4966 >
2023-07-05 12:08:33 +00:00
Guillaume Desmottes
1027180960
subtitleoverlay: fix mutex error if sink caps is not video
...
We were trying to unlock a mutex that was not locked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4964 >
2023-07-05 10:34:21 +00:00
Edward Hervey
f825b7aba3
uridecodebin3: Refuse sub uri in gapless mode
...
This is too problematic to handle properly right now.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2550 and
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2605
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4958 >
2023-07-03 16:02:40 +02:00
Hou Qi
dbdbf2d256
decodebin3: fix memory leak when remove candidate decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4955 >
2023-07-03 07:13:13 +00:00
Carlos Rafael Giani
d5a9ca8ef6
gl: Separate viv direct texture checks from viv-fb winsys check
...
Vivante direct textures do not depend on the viv-fb windowing system.
Decouple these two to be able to use direct textures even when viv-fb
is not enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4950 >
2023-07-03 05:25:13 +00:00
Jan Schmidt
2e5908d33f
appsrc: Release priv->lock before pushing segment
...
Don't hold the private appsrc lock while pushing out a segment
event, which may block indefinitely.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4951 >
2023-06-30 16:05:57 +00:00
Jonas Kvinge
fa46905aea
discoverer: Only call handle_current_async if still processing
...
When gst_element_set_state is called in _setup_locked and errors, the
callback is already processed before we reach handle_current_async, and
the timer is started even though it's finished processing, which results
in a NULL pointer crash later in async_timeout_cb.
To fix this, we check that it's still processing before calling
handle_current_async.
Fixes #1683
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4936 >
2023-06-30 08:52:38 +03:00
Thibault Saunier
c5304751ab
uridecodebin: Handle non dynamic sources with several source pads
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4881 >
2023-06-30 01:00:34 +00:00
Alicia Boya García
8c628fa325
validate tests: include debugutilsbad to be able to use testsrcbin
...
Fixes test: validate.uridecodebin.expose_raw_pad_caps
testsrcbin (currently part of debugutilsbad) is an useful element for
validate tests.
validate.uridecodebin.expose_raw_pad_caps makes use of it.
Unfortunately, because validate tests with GStreamer only run with
whitelisted plugins and `debugutilsbad` wasn't in the whitelist, the
test was failing and being auto-skipped.
This patch adds debugutilsbad to the whitelists used by validate tests
in subprojects with a validate/meson.build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4931 >
2023-06-27 10:13:19 +00:00
Thibault Saunier
e7f13ede0f
videoconvertscale: Remove the restriction on ANY memory
...
Our pad templates already expose ANY feature and the code supports that
case even if only for the passthrough, we should not disable that feature.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4733 >
2023-06-27 08:17:33 +00:00
He Junyan
a10e05000d
video-info-dma: add gst_video_info_dma_drm_to_video_info()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4883 >
2023-06-26 16:18:24 +00:00
Carlos Rafael Giani
fd25e24217
alsa: Add support for DSD audio
...
Code is partially based on the DSD of Robert Tiemann <rtie@gmx.de>:
https://gitlab.freedesktop.org/rtiemann/gstreamer/-/tree/dsd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3901 >
2023-06-23 01:27:04 +00:00
Carlos Rafael Giani
8febc4102a
audiosink: Add support for DSD data
...
Code is partially based on the DSD of Robert Tiemann <rtie@gmx.de>:
https://gitlab.freedesktop.org/rtiemann/gstreamer/-/tree/dsd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3901 >
2023-06-23 01:27:04 +00:00
Carlos Rafael Giani
b65eab915a
audioringbuffer: Add support for DSD data
...
Code is partially based on the DSD of Robert Tiemann <rtie@gmx.de>:
https://gitlab.freedesktop.org/rtiemann/gstreamer/-/tree/dsd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3901 >
2023-06-23 01:27:03 +00:00
Carlos Rafael Giani
4cce9a77c9
audioringbuffer: Introduce accessor macros
...
This follows the design ideas behind GstVideoInfo to provide an API
capable of hiding any underlying ABI compatibility mechanisms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3901 >
2023-06-23 01:27:03 +00:00
Carlos Rafael Giani
8c5a8f4466
dsd: Add code for DSD audio support
...
Related to:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/972
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3901 >
2023-06-23 01:27:03 +00:00
Sebastian Dröge
3144f63302
tags: Don't allow image tags with G_MAXUINT32 length
...
This will cause an integer overflow a little bit further down because we
allocate a bit more memory to allow for a NUL-terminator.
The caller should've avoided passing that much data in already as it's
not going to be a valid image and there's likely not even that much data
available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4894 >
2023-06-20 10:02:19 +00:00
Sebastian Dröge
069065adc4
subparse: Skip after the end of a valid closing tag instead of only skipping <
...
This is a small optimization and avoids restarting the next parsing
iteration on already accepted data.
On its own it would also fix ZDI-CAN-20968 (see previous commit) but the
previous commit independently is also a valid fix for it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4895 >
2023-06-20 09:06:44 +01:00
Sebastian Dröge
97c6d7495e
subparse: Look for the closing >
of a tag after the opening <
...
Previously when fixing up subrip markip, we were looking from the start
of the remaining buffer instead. Due to how skipping over closing tags
works, the remaining buffer will still contain the closing `>` of the
previous tag so if a unexpected closing tag is found after another
closing tag, we would potentially do an out of bounds memmove().
Fixes ZDI-CAN-20968
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2662
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4895 >
2023-06-20 09:06:38 +01:00
He Junyan
0b981a216c
gl: Add a print function to dump all EGL image drm format
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4877 >
2023-06-19 12:58:02 +00:00
Nicolas Dufresne
42c12c9c73
doc: Update plugin cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3447 >
2023-06-15 10:41:26 -04:00
Nicolas Dufresne
c17e648fcf
video: Add NV12_10LE32_4L4 tiled format
...
This 10bit format is identical to NV12_4L4, but uses NV12_10LE40 format
internally. In show, the tiles is made af 4 rows of 5 bytes, which contains
4 fully packed 10bit values.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3447 >
2023-06-15 14:32:32 +00:00
Nicolas Dufresne
b832a20d35
video: Fix tile info UV width
...
The width in pixel should consider a UV pair as 1 pixel, fix the metadata
accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3447 >
2023-06-15 14:32:32 +00:00
Marek Vasut
5ad834ce28
videotestsrc: Support video/x-bayer 10/12/14/16 bit depths
...
Add support for generation of 10/12/14/16 bit bayer test pattern.
The implementation is rather simplistic, just take the ARGB
input, generate 16-bit data out of it instead of 8-bit, shift
them as required by the output bitness, and apply endian swap.
Example usage:
```
$ gst-launch-1.0 videotestsrc ! \
video/x-bayer,width=512,height=512,format=bggr12le ! \
bayer2rgb ! \
video/x-raw,format=RGBA64_LE ! \
videoconvert ! \
autovideosink
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686 >
2023-06-15 08:26:12 +00:00
Marek Vasut
e569b8ba1e
videotestsrc: Simplify ARGB to Bayer conversion
...
Simplify the conversion to bayer pattern as suggested by Nicolas Dufresne.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686 >
2023-06-15 08:26:12 +00:00
Marek Vasut
d0efb05f52
videotestsrc: Move video/x-bayer caps parsing in one place
...
Move all the video/x-bayer caps parsing into one place,
gst_video_test_src_parse_caps(), no functional change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4686 >
2023-06-15 08:26:12 +00:00
Haihua Hu
5716ee3513
glfilter: add parent meta to output buffer for input buffer
...
glfilter will unref input buffer after _transform() call immidiately,
but gpu may still reading input buffer for rendering because gl
api is executed async. Need hold reference for input buffer by
adding parent meta to output buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4801 >
2023-06-13 07:53:49 +00:00
Xavier Claessens
b687e19e10
opus: Fix crash when getting unexpected channel position
...
gst_opus_channel_names is a static array with only 13 items.
GstAudioChannelPosition have bigger values than that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4798 >
2023-06-12 20:00:52 +00:00
Xabier Rodriguez Calvar
4769a2ab97
playbin2: improve transference doc of get-*-pad actions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2081 >
2023-06-12 10:26:26 +00:00
Philippe Normand
ea9b837b07
video: convertframe: Add a debug category
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4629 >
2023-06-11 15:45:02 +00:00
Philippe Normand
b115756338
video: convertframe: Fix annotation of gst_video_convert_sample()
...
The returned sample is pulled from appsink which transfers its ownership.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4629 >
2023-06-11 15:45:02 +00:00
Philippe Normand
a0ac1cccbf
appsink: Adjust annotations of pull- signals
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4629 >
2023-06-11 15:45:02 +00:00
William Manley
04bcff4dce
basetextoverlay: Fix typo in "text-y" property description
...
Looks like a copy and paste error.
Co-authored-by: Fabian Orccon <cfoch.fabian@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4823 >
2023-06-10 16:52:29 +00:00
Kevin Song
55926f0271
appsink: unref gstbuffer in prev sample early
...
Appsink will unref prev sample in dispose function. Which is later
when V4L2 video decoder link with appsink as V4L2 video decoder
will close V4L2 device fd during GST_STATE_CHANGE_READY_TO_NULL.
If the video buffer return to V4L2 video decoder after the decoder
closed V4L2 device fd, V4L2 can't release the video frame buffer
which allocated with MMAP mode as application can't call
VIDIOC_REQBUFS 0 to release the video frame buffer by V4L2 driver.
The memory of the video frame will leak.
Unref the gstbuffer in stop() function, so V4L2 video decoder
can received all video frame buffers and release it before close
V4L2 device fd.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4818 >
2023-06-09 13:13:17 +00:00
Seungha Yang
e953f38789
tests: compositor: Add tests for data flow after EOS scenario
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4783 >
2023-06-09 19:58:38 +09:00
Matthew Waters
b291efe44b
gldownload: handle passthrough without a critical
...
With passthrough mode, gldownload/glbasefilter may not ever retrieve a
relevant GstGLContext as it doesn't actually query the surrounding
elements. Guard against that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4791 >
2023-06-07 22:15:39 +00:00
Hou Qi
95ac8b0cea
decodebin3: filter error message and store latency message for candidate decoder
...
If the GST_MESSAGE_SRC of error message belongs to candidate decoders,
filter the error message and don't forward it as there might be a
following candidate decoder that can be used.
If the GST_MESSAGE_SRC of error message belongs to candidate decoders,
store the latency message and handle it after decoder is accepted.
This is to avoid the selection lock failure if decodebin3 needs to
handle latency message for candidate decoders when sending sticky event.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4677 >
2023-06-02 14:51:38 +00:00