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
Philippe Normand
4718fc9be7
webrtc: stats: Increase 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/8698 >
2025-04-07 12:07:16 +00:00
Philippe Normand
ac465ebfe1
webrtc: stats: Fill data-channel transport stats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Jochen Henneberg
96970fe33b
camerabin: Ensure that test record pipeline does not see caps change
...
Depending on the system load the test 'video_capture_with_tags' may
fail or not. Reason is that 'videotestsrc' may emit a buffer before
the final caps negotiation on the recording pipeline has happened
after dynamic linking.
In that case there would be a caps change and because videorate does
no longer drop old buffers and caps on change but pushes duplicates if
required qtmux will notice a caps change and fail to link.
The problem is a synchronization problem in 'camerabin' which became
obvious with the changed behaviour of 'videorate'.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8579 >
2025-04-01 10:15:34 +00:00
Philippe Normand
18f6fec49f
webrtcbin: Make mid optional in offers and answers
...
The mid attribute is not strictly required. Two new tests cover this change,
they remove the mid and group attributes from the SDP offers and answers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8729 >
2025-03-31 10:51:08 +01:00
Artem Martus
36c983ccd5
webrtcbin: ensure RTX entry for all formats
...
Properly implement RFC 4588 by ensuring each media format
has its own RTX payload type with unique 'apt' parameter,
rather than only mapping the first format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8663 >
2025-03-31 06:40:35 +00:00
Jordan Yelloz
f5634c2aac
gstmediasourcetrackbuffer: Improved buffered ranges calculation
...
Now when the buffered list is requested, the tolerance for merging two ranges
when there's a small gap between them is MAX(0.1sec, max frame duration * 2).
Previously it was hardcoded to 0.01sec. The specification suggests that it
could be something like the max frame duration * 2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
3c6c0bc676
gstmediasourcetrack: Removed unused try_push() method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:12 +00:00