387 Commits

Author SHA1 Message Date
Stéphane Cerveau
90dc0f1313 vulkan: tests: remove/update ci comments
Since previous commit, the CI can now run vulkan
tests. Remove or update the comments related to CI.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9416>
2025-08-27 10:50:57 +00:00
Stéphane Cerveau
b2eeb6d6d3 ci: enable vulkan tests in validate
As CI now supports llvm 18 and mesa 24.1 which
allow to use properly lavapipe in the CI, the vulkan
ci tests have been removed from the validate blacklist.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9416>
2025-08-27 10:50:56 +00:00
Stéphane Cerveau
34a009d85c tests: add vulkan AV1 encode test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8841>
2025-08-21 17:42:47 +00:00
Víctor Manuel Jáquez Leal
fc647552fa vulkan: enable video maintenance2 for inline session parameters
.. in decoders.

Inline session parameters allows to not create session parameters handlers for
every new stream parameters (such as SPS and PPS for H.264, for example), but
instead to pass them as a chained structure in the decoding main structure. This
is completely align with GStreamer decoder base classes.

Even that the previous approach is kept, if the devices doesn't support video
maintenance2, it shows a lot of validation errors.

Also it was required to add another parameter when enabling extension to verify
if the extension is linked with a device feature and if it is enabled.

Bump Vulkan API (and driver version for both decoders and encoders) to 1.4.306

Also bumped the ABI_CHECK_TAG because the CI finally catches up with the vulkan
video symbols that are not exposed by a public header (tough they are binary
public).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9585>
2025-08-21 05:22:19 +00:00
Víctor Manuel Jáquez Leal
c63d3b5cb4 tests: fix queues for vulkan h26x encoders
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9571>
2025-08-18 19:46:26 +02:00
Jan Alexander Steffens (heftig)
fbe7a86973 tests: cccombiner: Test durationless buffers
Crashes without the previous fix.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9415>
2025-08-15 00:12:03 +00:00
Víctor Manuel Jáquez Leal
ad03600a0c test: vkimagebufferpool: silence validation
The validation complained with

VUID-VkImageCreateInfo-usage-requiredbitmask]:
vkCreateImage(): pCreateInfo->usage is zero.

This patch force to use the internal defaults in vkimagebufferpool if no usage
is defined.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9544>
2025-08-13 15:24:05 +03:00
Xavier Claessens
6a9da23bbf mpegtsmux: Caps event fails with stream type change error
If mpegtsmux receives the same caps again, it wrongly claims the stream
type changed:

  error: Stream type change from 06 to 8f not supported

This adds a unit test that demonstrate the issue in the very hacky way.
I have seen this happening with the below pipeline when upstream caps
changes. Since the caps filter fixates the caps received by opusenc and
mpegtsmux, the stream type cannot change.

  ...
  ! audioconvert
  ! audio/x-raw,format=S16LE,channels=2,rate=48000
  ! opusenc bitrate=128000
  ! mpegtsmux

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9430>
2025-08-10 19:31:52 +10:00
Jan Alexander Steffens (heftig)
5a6ceaf2f3 zbar: tests: Handle symbol-bytes as not null-terminated
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4592
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9510>
2025-08-08 07:28:26 +00:00
Víctor Manuel Jáquez Leal
573f401e58 vkvideoutils-private: make it private
Since we moved the GstVulkan generic decoder and encoder to private objects in
the library, there was not need to keep vkvideoutils public.

This patch turns it private and reduces the public API surface.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9493>
2025-08-05 19:44:36 +00:00
Philippe Normand
ea69849cd8 webrtc: sdp: Validate ICE SDP attributes
According to https://datatracker.ietf.org/doc/html/rfc5245#section-15.4,
those attributes should contain only alpha-numerical (with / and + allowed),
should be less than 256 characters, the ufrag should be at least 4 characters
and the pwd should be at least 22 characters.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9485>
2025-08-04 10:22:24 +00:00
Philippe Normand
80e663d560 webrtc: sdp: Relax ice-ufrag and ice-pwd checks
According to RFC 8839 section 5.4, if two data streams have identical
"ice-ufrag"s, they MUST have identical "ice-pwd"s.

The previous code wasn't allowing different ice-ufrag values in bundled medias.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9485>
2025-08-04 10:22:24 +00:00
Philippe Normand
9e38ee7526 webrtc: stats: Set DTLS role and state on transport stats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9485>
2025-08-04 10:22:24 +00:00
Olivier Crête
ec85036a1e analytics: Add unit test for copying GstAnalyticsRelationMeta
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9475>
2025-07-31 22:56:26 +00:00
Olivier Crête
a6a38dcab9 avtp: Use the DTS as the AVTP base time
Make it work a little more like RTP. Have the source interact with the
clock and set the capture time on each packet. Then the other elements
can use that to do adjustments. Since AVTP is always very low latency,
it can be assumed that the gPTP clock at the packet reception is very
close to the sending time, never more than 2 seconds off, so the
timestamps can be compared directly.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9412>
2025-07-31 22:15:07 +00:00
Julian Bouzas
b904ac195f h265parse: Wait for SEI before exposing src caps
Similar to h264parse, this makes sure 'lcevc=false' src caps are not set before
parsing SEI. It is needed for decodebin2 to work properly with the LCEVC decoder.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9427>
2025-07-28 23:13:05 +00:00
Seungha Yang
32e6b47b07 examples: Add d3d12fisheyedewarp test example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9441>
2025-07-27 01:22:28 +09:00
Seungha Yang
4f932ee081 d3d12swapchainsink: Add last-rendered-sample action signal
Add a new action signal to allow applications to capture
the most recently rendered frame directly from the swapchain
back buffer.

Unlike the existing "last-sample" property, which exposes
the raw input sample before any sink-side processing, this
signal captures the final displayed image after any internal
image processing (e.g., UV remap, color balance, overlay) has been
applied.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9423>
2025-07-22 12:02:15 +00:00
Stéphane Cerveau
559dbdecf1 tests: vkh26xenc: use vkvideoencodebase
To avoid duplicating code, use vkvideoencodebase.c

Code cleanup and function clarifications.
Fix leaks in case of multiple device.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9077>
2025-07-22 10:35:16 +00:00
Philippe Normand
e31b1d8859 check: Silence some OpenSSL memory leaks
The OpenSSL version shipping in Fedora 40 leaks memory, the issue is fixed in
F42.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9323>
2025-07-18 00:57:40 +00:00
Seungha Yang
0d1cd40097 d3d12swapchainsink: Update uv-remap signal to support background color
Allow per viewport background color setting

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9393>
2025-07-17 12:55:11 +00:00
Seungha Yang
66880012c5 examples: d3d12swapchainsink: Add support for force-aspect-ratio change
Adding keyboard control for "force-aspect-ratio" property change

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9392>
2025-07-14 17:07:35 +00:00
Doug Nazar
7d8f9b840f avtp: crf: tests: Only run tests if packet socket is available
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9364>
2025-07-10 15:50:30 +00:00
Doug Nazar
13f3656b7b h266parse: test: Pass correct size argument to va_arg function
sizeof(int) != sizeof (gsize)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9151>
2025-07-08 09:05:29 +00:00
Doug Nazar
0add16906a analytics: tests: Copy correct size of array to buffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9151>
2025-07-08 09:05:29 +00:00
Doug Nazar
dac375ab7a webrtc: tests: Fix a few memory leaks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9151>
2025-07-08 09:05:29 +00:00
Víctor Manuel Jáquez Leal
e8ebd6398f examples: vulkan encoder test
Similar as d3d11 and va.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7197>
2025-07-03 13:41:32 +02: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
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
e8fda4b6b7 dashsink: test: Minor cleanups
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9266>
2025-06-23 12:29:06 +00:00
Seungha Yang
26227042c3 examples: d3d12swapchainsink: Add uv-remap/redraw example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9209>
2025-06-17 22:18:32 +00:00
Víctor Manuel Jáquez Leal
74b741e535 test: vulkanupload unit test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9218>
2025-06-16 23:23:44 +00:00
Stefan Andersson
38f5ab75fd h26xparse: Drop NAL units that can't be parsed using AU alignment
Change so that the handling of NAL unit that can't be parsed when using
AU alignment is the same as when using NAL alignment, ie drop the data
if it can't be parsed.

If the AU contains more than one NAL unit any correctly parsed NAL unit
in the AU is kept.

Fixes #4436

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8976>
2025-06-10 13:00:20 +00:00
Doug Nazar
635e0ad5c1 dash: mpdclient: Re-enable test now that mpdclient is fixed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8734>
2025-05-24 12:10:59 +00:00
Nirbheek Chauhan
331a381c66 meson: Fix qt detection for qt6d3d11 plugin
This now matches the code for the qml6gl plugin.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9046>
2025-05-23 09:43:17 +00:00
Doug Nazar
d33107226c audiovisualizer: Change test to use native endian audio format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8975>
2025-05-18 11:03:59 +00:00
Jordan Petridis
818feea0b5 bad: Add more variants for an srt suppression
Followup to 087cb87d27e268d55a8d152690870ac4a2b3e166

These are some more variants of the same issue we
already suppressed in the commit above.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8979>
2025-05-15 15:21:20 +00:00
Olivier Crête
111c0a4186 h264parse test: Ensure avc3 caps include a codec_data
The avc3 caps without a codec_data are just totally invalid

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8955>
2025-05-12 18:31:46 -04:00
Olivier Crête
38499c949d h264parse test: Send PPS in SPS parsing test
Without the PPS, the codec_data can not be created

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8955>
2025-05-12 18:31:46 -04:00
Seungha Yang
ee59564d5c examples: cuda: Fix build with old CUDA SDK
Some symbols are not available in old cuda headers.
Use our stub headers instead

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8950>
2025-05-10 11:06:16 +00:00
Xavier Claessens
352a8a8b12 unifxfdsink: Add an property to allow copying
By design, unixfd is meant to be used for zero-copy and failing when the data is
not FD based memory is wanted to help debug pipelines. Though, there exists
cases, notably with RTP payloader and demuxers, where its not possible
to get all the data into FD memory through allocation queries.

To allow using unixfd for these cases, introduce a property on the unixfdsink
that enable copying the non FD data into freshly allocated memfd.

Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8861>
2025-05-05 19:15:56 +00:00
Seungha Yang
80d9214747 examples: Add d3d12remap example
Adding a fisheye image transform example using d3d12remap element

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8887>
2025-05-02 22:11:04 +09:00
Nirbheek Chauhan
a7c92cbcab gst-examples: Port all webrtc examples to libsoup-3.0
Also do some indent changes, and add `static` while we're at it.

And move the libsoup wrap to 3.6.5, add nghttp2 wrap

We need to disable libsoup 3.0 tests because they fail to build on
Windows.

Closes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1115

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753>
2025-04-30 10:18:57 +00:00
Nirbheek Chauhan
1fdfab27a3 meson: Add include_type: 'system' everywhere to squelch wrap warnings
Wrap dependencies add a ton of warnings with the latest GCC in Fedora
42. Squelch them by specifying that these dependencies are not
a part of the gstreamer project, and should be treated as system deps.

libsoup needs some porting work for the bump, and vorbis/lame are
already at their latest releases.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753>
2025-04-30 10:18:56 +00:00
Alexander Slobodeniuk
a03c4de48f elements: use set_static_metadata when it's allowed
Those strings are nice but CPU doesn't want to copy them

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8905>
2025-04-26 19:30:15 +02:00
Daniel Morin
036801222f test:analytics: add more test on tracking mtd
- Verify we can retrive tracking-mtd and its data

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8868>
2025-04-24 18:58:22 +00:00
Philippe Normand
72433cb942 webrtc: stats: Improve spec compliance for ICE candidate stats
We now fill the foundation, related-address, related-port, username-fragment and
tcp-type fields.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8792>
2025-04-17 21:13:36 +00:00
Daniel Morin
185e96aeec test: add test for tensor-meta
- Verify we can add a tensor-meta to a buffer
- Verify we can get a tensor from a tensor-meta

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8848>
2025-04-15 16:54:37 -04:00
Daniel Morin
42e31ee5ef test: add test for gstanalytics utility
- IoU test

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8805>
2025-04-14 23:15:11 +00:00
Philippe Normand
1a55ae2c51 Revert "webrtc: stats: Increase spec compliance for ICE candidate stats"
This reverts commit 4718fc9be72ccbbb9278c9abe7d72106e161aebf.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8787>
2025-04-08 09:35:49 +01:00