Daniel Morin
d760457bd7
gstcaps: add test for caps
...
- if a subset contain identical element in superset it is still a subset it they
are note equal. e.g is_subset (<1, 1000>, <1, [1, 1000])
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9220 >
2025-07-02 06:46:59 +00:00
Daniel Morin
71bd3cbcd6
gstvalue: increase test coverage for _is_subset()
...
- Identify _is_subset () general/specials cases.
- Add multiple test cases for general cases.
- Add multiple test cases for unfixed value.
- Add mutliple test cases for fixed array value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9220 >
2025-07-02 06:46:59 +00:00
Daniel Morin
93241e4203
gstvalue: generalize gst_value_is_subset()
...
- Add case where we have element in subset that are equal to element in
superset. In this case subset is still a subset if at least one element is a
subset of the corresponding element in superset.
- clarify gst_value_is_subset inline documentation
- Add helper VALUE_TYPE_SINGLETON (type) to identify GType that represent a
value that is not a collection.
- Fixed issue in gst_value_is_subset_array_array (<1, 2, 3>, <0, 1, 4, 2, 3>)
would have returned TRUE because because the alignment of the subset could be
done multiple times. Now once alignment of set as been done once, everything
else in the superset need to be a subset of corresponding element without
interuption. is_subset (<1, 2, 3>, <0, 1, 2, 3>) => TRUE, but is_subset (<1,
2, 3>, <0, 1, 4, 2, 3>) => FALSE.
- If both array are fixed value and we perform a is_subset on them, both value
can't be equal to be considered subset. (For consistency with other fixed
values)
- Define gst_value_subtract (singleton, array) and
gst_value_subtract (array, singleton), to allow a gst_value_is_subset
(singleton, array) and gst_value_is_subset (array, singleton). General
case of gst_value_is_subset (v1, v2) use gst_value_subtract (v1, v2) and
gst_value_subtract (v2, v1) to evaluate _is_subset(), therefore we need these
for is_subset() operation that involve singleton and array.
Note gst_value_subtract (array, array) is not implemented but this case is not
require by gst_value_is_subset () and as it has a direct handling. Warned if
the case is used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9220 >
2025-07-02 06:46:59 +00:00
Mathieu Duponchelle
39a7e0066c
aggregator: add sub_latency_min to pad queue size
...
It should be possible for a subclass to let data accumulate on any of its input
pads for as long as it has introduced latency.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9320 >
2025-07-02 06:11:27 +00:00
Thibault Saunier
c604196306
gl: cocoa: Add navigation event support
...
Implement keyboard, mouse, and scroll wheel event handling for the
OpenGL Cocoa backend.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9276 >
2025-07-02 01:31:16 +00:00
Enock Gomes Neto
cade54e2af
qtdemux: Fix incorrect FourCC used when iterating over sbgp atoms
...
In qtdemux_parse_traf(), the loop over sbgp atoms used FOURCC_sgpd instead
of FOURCC_sbgp when retrieving the next sibling node. This caused the loop
to either terminate early or attempt to parse sgpd atoms as sbgp, leading
to incorrect or incomplete seig group associations.
This fix ensures that all sbgp atoms are properly parsed in sequence.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4511
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9318 >
2025-07-01 12:40:33 -03:00
Sebastian Dröge
da2da7711d
ci: Update to Rust 1.88 and cargo-c 0.10.14
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9310 >
2025-06-30 22:56:04 +00:00
Nicolas Dufresne
b6b6bf9370
opengl: Rename to _private EGL and GLX context header
...
Both only contains private symbols, clarify this by using a very explicit
name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9306 >
2025-06-30 21:53:55 +00:00
Nicolas Dufresne
7f18dc5411
gl: upload: Fix direct dmabuf transform function
...
When doing direct dmabuf upload, we rely on the GL stack for doing the color
transformation. The caps we transform from GL to DMABuf are always with a format
of RGBA. Instead of listing all GstVideoFormat and translating them back into
DRM formats, simply list all supported DRM format for the context.
This enable rendering DRM formats that don't have an shader based emulation
implemented such as NV15.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9306 >
2025-06-30 21:53:55 +00:00
Nicolas Dufresne
c475088501
gl: context_egl: Add a helper to list all supported fourcc/modifiers
...
This helper creates a GST_TYPE_LIST of all possible DRM formats that the context
can support. This will be needed to fix support for formats that aren't emulated
using GStreamer shaders.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9306 >
2025-06-30 21:53:55 +00:00
Nicolas Dufresne
ef98722709
gl: context_egl: Show all possible translation to GstVideoFormat
...
The code would simply trace one random format using the DRM fourcc. Instead,
trace the result of translating the pair and skip if there is not match.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9306 >
2025-06-30 21:53:55 +00:00
Nicolas Dufresne
475083200d
gl: utils: Correct gst/dma caps transformation
...
The transformation was fuzzy, adding random modifiers to the list. Use the newly
introduce helpers from 1.26 to precisely convert GStreamer formats to a DRM
fourcc and modifier pair and vice-versa.
This fixes support for formats that have a GstVideoFormat value and requires a
modifier.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9306 >
2025-06-30 21:53:55 +00:00
Nicolas Dufresne
5e2a4a6d13
v4l2codecs: h265dec: Fail when frame cropping is needed while using DMABuf
...
It is not possible to do frame cropping when DMABuf caps feature is negotiated.
The VideoInfo size is zero, resulting in empty destination buffers, and video
convert library may not understand what the format actually is.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9305 >
2025-06-30 21:17:16 +00:00
Nicolas Dufresne
e7be87b3de
v4l2codecs: h265dec: Avoid cropping for zero top/left alignments
...
If the conformance window does not requires cropping the top or left of the
window, we can use GstVideoMeta to crop in a zero-copy fashion. If a copy
is needed, the frame copy can also handle it, and is a lot faster.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9305 >
2025-06-30 21:17:16 +00:00
Nicolas Dufresne
0fbd76dd50
v4l2codecs: dec: Remove has_videometa member
...
Now that the code is properly located, this member is not needed
anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9305 >
2025-06-30 21:17:16 +00:00
Nicolas Dufresne
c7b0b9a816
v4l2codecs: dec: Move copy_frames logic inside decide_allocation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9305 >
2025-06-30 21:17:15 +00:00
Seungha Yang
de1166338c
webrtcdsp: Respect disabled feature option
...
Don't try to build this plugin if it's explicitly disabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8424 >
2025-06-30 17:18:18 +00:00
Vineet Suryan
13fc7ef932
onnx: Use system installed Eigen to avoid hash mismatch failure
...
Eigen’s download for the commit referenced by ONNX Runtime v1.16.3 was
updated upstream, so the SHA-256 embedded in ORT’s CMake scripts no
longer matches and the build aborts with a hash-mismatch error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9229 >
2025-06-30 13:13:38 +00:00
Doug Nazar
55bd9434f3
ges: Fix using freed memory to print prop name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
6be8b2974e
avtp: Fix memory leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
3c69e6ddd2
srt: Fix warning about uninitialized memory
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
c37a694b1b
vc1parser: Fix warning about printing uninitialized variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
27a55d9346
proxysrc: Fix order freeing pads
...
Free pads from bottom of parent tree first else with GST_DEBUG
enabled it would access freed memory printing object info.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
d7e90e5a15
avtpcvfpay: tests: Initialize codec memory
...
If GST_DEBUG was enabled we would print unintialized memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
7bf94c4c46
videodecoder: Print correct frame variable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
b490629528
rtph265pay: Fix valgrind warning about uninitialized usage
...
Skip NALs less than minimum size of 2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
6ddb5b4ad9
selector: tests: Fix initialization of segment
...
If GST_DEBUG is enabled and it dumps the segment, valgrind will warn about
uninitialized memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
b06c9090a7
gstinfo: tests: Ensure that the target msg is one of the ones seen
...
If GST_DEBUG is enabled we will get multiple log messages. Signal
success if one of messages is correct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
4c7b2fe4cc
memory: tests: Fix test to ensure all logs are less severe than WARN
...
If GST_DEBUG is enabled the existing test will fail as it gets INFO
log messages.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Doug Nazar
aa71fbd4ae
transform: test: TestTransData is not an object
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
Sebastian Dröge
8711294ea0
analytics: Fix docs of gst_tensor_check_type()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9311 >
2025-06-30 11:13:24 +00:00
Robert Mader
7e2b383553
matroskademux: Send tags after seeking
...
Similar to what qtdemux does in `gst_qtdemux_stream_update_segment()`,
in which case we want to resend tags according to our position.
By setting the changed flag for all stream tags we ensure they will all
be (re-)send as we progrees.
This notably ensures that rotation tags are not lost when video players
finish playback and jump back to the beginning of a video.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8429 >
2025-06-30 08:49:21 +00:00
Sebastian Dröge
bebec6d965
analytics: Fix transfer annotations of gst_tensor_check_type()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9293 >
2025-06-30 08:00:17 +00:00
Sebastian Dröge
46df60ed1d
Revert "streamsynchronizer: Consider streams having received stream-start as waiting"
...
This reverts commit a1a189c07cb66af06d7047c74f6421bd36e3d66c.
It breaks the uriplaylistbin tests and needs further investigation.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4506
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9309 >
2025-06-30 09:26:29 +03:00
Tim-Philipp Müller
b0d952ef53
contributing: add section about deletion of merged branches
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9292 >
2025-06-28 11:21:44 +00:00
David Maseda Neira
188a9fa7a2
adaptivedemux2: Fixed reverse playback
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9298 >
2025-06-27 12:21:51 +00:00
David Monge
d22be5d383
mpegtsmux: fix double free caused by shared PMT descriptor
...
The PMT descriptor was owned by the stream object but also added to
the descriptors array without copying, leading to a double free and
core dump during cleanup
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9285 >
2025-06-27 09:55:33 +00:00
Thibault Saunier
51cbcfbc57
cuda: Lower debug log level on nvrtc compilation failure
...
We have a fallback to compile with cubin and that compilation failure
might very well not be fatal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9232 >
2025-06-27 09:10:25 +00:00
Matthew Waters
87666a2d3b
rtph265pay: add profile-id, tier-flag, and level-id to output rtp caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9300 >
2025-06-27 07:36:47 +00:00
David Maseda Neira
73d57329e8
gst-inspect-1.0: Added type info for caps fields
...
gst-inspect-1.0 now shows the expected GType for each field of the
capabilities on a pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9270 >
2025-06-27 07:00:22 +00:00
He Junyan
eedd01ac3d
h266parser: Fix overflow when parsing subpic_level_info
...
1. non_subpic_layers_fraction, ref_level_idc and ref_level_fraction_minus1
fields should not have the GST_H266_MAX_SUBLAYERS limitation.
2. Should check max_sublayers_minus1, no more than GST_H266_MAX_SUBLAYERS-1
Fixes ZDI-CAN-27381, CVE-2025-6663
Closes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4503
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9294 >
2025-06-26 19:45:05 +01:00
Johan Sternerup
af63e991ec
hip: Add missing #ifdef
...
So that it compiles without gstreamer-gl.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9289 >
2025-06-26 11:37:30 +00:00
Sebastian Dröge
d236538d28
gstutils: Mark times array as static to avoid symbol conflict with the POSIX function
...
It works fine but there can be linker warnings, e.g. with mold.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9288 >
2025-06-26 09:22:14 +00:00
Xavier Claessens
472d528ffe
audioconvert: Fix setting mix-matrix when input caps changes
...
When the number of input channels changes, application might have to set
a new mix-matrix. Application must set the new matrix before
audioconvert receives updated caps, otherwise negotiation would fail.
That means it should be allowed to set an invalid mix-matrix until we
receive new caps or next buffer.
This fixes a regression in GStreamer >=1.24.9 caused by:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7363
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9215 >
2025-06-26 00:58:05 +00:00
Xavier Claessens
73d5b5b3db
audioconvert: Replace g_warning with GST_WARNING_OBJECT
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9215 >
2025-06-26 00:58:05 +00:00
Michael Olbrich
31f3e73066
waylandsink: Add force-aspect-ratio property
...
Similar to and inspired by glimagesink, xvimagesink and others.
The waylandsink never transform the buffer in any way but delegates this to the
Wayland compositor with the Wayland buffer transform API.
Rotation and window size are already supported, so this just changes the video
surface geometry that is communicated to the Wayland compositor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9210 >
2025-06-25 18:38:54 +00:00
Jan Alexander Steffens (heftig)
9363054e63
srtsink: Fix header buffer filtering
...
Cleans up the code and fixes two issues:
- If there are no streamheaders in the caps but we have `HEADER`
buffers, it would run `gst_buffer_list_foreach` with `self->headers`
being `NULL`.
- The code forgot to unmap the buffer if it decided to ignore it.
Fixes: 0a562a92d7ee38d8919d1b802add84d3c93b59eb
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9284 >
2025-06-25 15:44:54 +00:00
Seungha Yang
e3d0a8d83e
d3d12screencapturesrc: Fix OS handle leaks/random crash in WGC mode
...
Multiple DispatcherQueues per thread seems to be causing OS handle leak
and random crashes were observed. Instead of creating
thread/DispatcherQueue per GstD3D12GraphicsCapture object,
reuse only single thread and DispatcherQueue
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4351
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9153 >
2025-06-25 14:30:56 +00:00
Doug Nazar
c15a898742
vkvideoencodeh26x: ensure we call teardown() for each test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9062 >
2025-06-25 10:43:51 +00:00
Doug Nazar
35bceff695
gstrtspsrc: Don't emit error during close if server is EOF
...
During a graceful close we try to notify the server that we're
finished. There is no reason to consider it an error if the
server has already closed the connection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9278 >
2025-06-25 00:00:57 -04:00