Seungha Yang
fc73216671
d3d12swapchainsink: Fix force-aspect-ratio change in playing state
...
Set output updated flag so that viewport can be calculated again
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9392 >
2025-07-14 17:07:35 +00:00
Sebastian Dröge
6ce4637aab
analytics: Include new batch meta in the single-include header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9391 >
2025-07-14 15:07:37 +03:00
Sebastian Dröge
3a51f42ab0
analytics: Add GstAnalyticsBatchMeta for batches of buffers from one or more streams
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9282 >
2025-07-13 18:25:26 +02:00
Doug Nazar
c00d77e6d7
avtp: crf: Setup socket during state change to ensure we handle failure
...
Previously the socket would be created in the thread, which take some
time to start. As the tests were so short they would usually pass as
they don't actually use the socket.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9364 >
2025-07-10 15:50:30 +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
Mathieu Duponchelle
cde27346fb
rtmp2src: don't send window acknowledgement size commands twice
...
This causes servers such as AWS MediaLive to drop the connection, and
the message flow chart as documented in the "spec" always has the
server sending it first, and the client replying to it on reception of
the Set Peer Bandwidth, which we do since 286a3829b637.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9360 >
2025-07-10 09:04:16 +00:00
Mathieu Duponchelle
668ef84171
rtmp2src: fix playback of URIs without a playpath
...
ffmpeg manages to play RTMP URLs in the form:
```
protocol://servername:port/appname
```
and does not require a second component to the path, adapt our code to
allow using such URLs as `tcUrl`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9360 >
2025-07-10 09:04:16 +00:00
Piotr Brzeziński
c43d3900bf
vtenc: Fix negotiation failure with profile=main-422-10
...
Previous version passed just enough data to the parser to detect
main/main-10, but main-422-10 is one of the range extensions profiles.
Those need a few more bits to be accurately detected, and since those
were just uinitialized memory previously, we'd incorrectly end up with
main or main-10 when the encoder was in fact giving us 4:2:2 10bit
output.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9348 >
2025-07-10 08:04:45 +00:00
Nicolas Dufresne
8092669a18
wayland: window: Fix next video info leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9353 >
2025-07-09 20:07:38 +00:00
Nicolas Dufresne
c803ce7a9c
waylandsink: Parse and set the HDR10 metadata
...
Basically whenever the compositor have support for it, and the caps includes it,
set the mastering display and light content level information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9353 >
2025-07-09 20:07:38 +00:00
Nicolas Dufresne
c61b6f76b0
wayland: display: Detect HDR10 metadata feature
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9353 >
2025-07-09 20:07:38 +00:00
Doug Nazar
24dcc0a009
openh264: Ensure src_pic is initialized before use
...
valgrind was showing reads of uninitialized memory and the
library examples all memset the structure before use.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9352 >
2025-07-09 07:13:06 +00:00
Julian Bouzas
7ad82930e2
h265parse: Parse and attach LCEVC metadata to buffers if present
...
Similar to h264parse, this patch enhances the element to parse LCEVC enhancement
data from SEI, and attach it to output buffers as GstLcevcMeta. The 'lcevc'
field in the output caps is also set to TRUE or FALSE depending on whether LCEVC
data is present or not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9335 >
2025-07-08 22:36:08 +00:00
Tim-Philipp Müller
24ee088cee
Back to development after 1.27.1
2025-07-08 20:00:07 +01:00
Tim-Philipp Müller
1fa56616fb
Release 1.27.1
2025-07-08 19:58:12 +01:00
Matthew Waters
4ed83e5973
vulkanfullscreenquad: add locks for synchronisation
...
Now all API can be accessed from any thread.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9337 >
2025-07-08 11:43:13 +00:00
Doug Nazar
f11d258545
cpu-throttling-clock: fix race between async callback and unscheduling
...
It's possible that the callback is already scheduled to run on another
thread when we unschedule it during dispose and we would then access
a freed object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9151 >
2025-07-08 09:05:29 +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
50a6f31902
decklink: Fix a memory leak
...
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
Doug Nazar
f6cc177dab
camerabin: Fix a memory leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9151 >
2025-07-08 09:05:29 +00:00
Hanna Weiß
3232e7a948
vulkan: Fix drawing too many triangles in fullscreenquad
...
was using a index buffer for triangle list but drawn as strip
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9338 >
2025-07-07 21:56:50 +00:00
Nicolas Dufresne
5ac6d2b635
gtkwaylandsink: Make the rotate property GST_PARAM_MUTABLE_PLAYING
...
This matches the change we made to waylandsink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9283 >
2025-07-07 21:11:44 +00:00
Michael Olbrich
5275bb0c20
gstwaylandsink: add some locking documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9283 >
2025-07-07 21:11:44 +00:00
Michael Olbrich
0a524ca115
gstwaylandsink: add GST_PARAM_MUTABLE_PLAYING flag for more properties
...
The fullscreen state and rotate method can be changed while the element is
playing, so add the GST_PARAM_MUTABLE_PLAYING flag to those properties to
indicate this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9283 >
2025-07-07 21:11:44 +00:00
Michael Olbrich
96b800f82a
waylandsink: make sure self->window is not NULL before using it
...
self->window is created with the first frame, so it is not available when
properties are set during construction of the element.
Skip calling gst_wl_window_ensure_fullscreen() in this case.
The window is already constructed with the current configured fullscreen state,
nothing else in needed here.
Without this, running e.g. 'gst-launch-1.0 -v videotestsrc ! waylandsink
fullscreen=true' will result in:
GStreamer-Wayland-CRITICAL **: 14:11:19.921: gst_wl_window_ensure_fullscreen: assertion 'self' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9283 >
2025-07-07 21:11:43 +00:00
Olivier Crête
1413dc37eb
webrtcbin: Add RTX/FEC for each relevant payload type
...
When sending an answer with multiple codecs, we need to add the RTX and FEC
payload for each codec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9031 >
2025-07-07 19:51:39 +00:00
Seungha Yang
feedb9a769
hipmemorycopy: Use stream associated with buffer
...
... instead of global device stream. memory object might hold
different stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9281 >
2025-07-07 14:39:54 +00:00
Seungha Yang
c1f023baaf
hipconverter: Avoid unnecessary sync
...
If input and output buffers are running on the same stream,
record event instead of sync
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9281 >
2025-07-07 14:39:54 +00:00
Seungha Yang
7d259c4224
hipmemory: Allow lazy sync
...
Store recorded hip event and wait for sync later if needed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9281 >
2025-07-07 14:39:54 +00:00
Seungha Yang
e9d96fd4e7
hip: Add GstHipEvent object
...
hip event handle wrapper object
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9281 >
2025-07-07 14:39:54 +00:00
Seungha Yang
ad942d2627
hip: Use non-default stream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9281 >
2025-07-07 14:39:54 +00:00
Seungha Yang
b465694957
hip: Add GstHipStream object
...
Adding hip stream abstraction layer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9281 >
2025-07-07 14:39:53 +00:00
Doug Nazar
45eef1a000
alphacombine: fix memory leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9115 >
2025-07-07 13:01:34 +00:00
Doug Nazar
8873237131
cpu-throttling-clock: free clock when finished
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9115 >
2025-07-07 13:01:34 +00:00
Seungha Yang
239a679fbf
d3d12screencapture: Add support for monitor add/remove in device provider
...
Update device list on WM_DISPLAYCHANGE event
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4521
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9330 >
2025-07-04 18:47:58 +00:00
Nicolas Dufresne
5c6273d663
Revert "vp9parse: Always default to super-frame"
...
This reverts commit fd1428d3ebf937d7656c3788df3ef3ff85fecc31.
As reported in #4524 , this changes cause regressions. The problem is due to a
bug in how vp9parse interact with parsebin, presenting downstream negotiation of
alignment to work. This revert to being stuck using frame alignment always,
which fortunately works with libvpx, though less efficient.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9329 >
2025-07-04 12:53:46 -04:00
Nicolas Dufresne
cf1aa3ecc6
vp9parse: Only show the last frame of a super frame
...
Only the last frame of a super frame should be displayed by default. When
converting from super frame to frame, mark all frames as decode only except the
last one. This fixes vp90-2-22-svc_1280x720_3.ivf conformance test with
stateless decoders such as VA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8944 >
2025-07-03 20:48:12 -04:00
Nicolas Dufresne
d5d47d211e
vp9parse: Always default to super-frame
...
Sort the list of structure before truncating so that we don't prefer
"frame"" alignment over "super-frame" in some cases.
Fixes vp90-2-22-svc_1280x720_3.ivf conformance test when using libvpx based
decoder.
Fixes #4371
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8944 >
2025-07-03 20:48:12 -04:00
Nicolas Dufresne
a8f5618d1a
vp9parse: Fix typo Aligment vs Alignment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8944 >
2025-07-03 20:48:12 -04:00
Julian Bouzas
3e4c17633e
h264parse: Forward LCEVC caps
...
This makes sure the parser exposes lcevc=true output caps if the demuxer
attached LCEVC data to video frames.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9321 >
2025-07-03 13:54:39 +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
Víctor Manuel Jáquez Leal
41ff02c349
vulkanh264enc: add Vulkan H264 encoder
...
Add an element to encode h264 content using the vulkan API.
Co-authored-by: Stéphane Cerveau <scerveau@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7197 >
2025-07-03 13:41:32 +02:00
Víctor Manuel Jáquez Leal
d81726f8d2
vulkan: h264encoder: introduce base class
...
H.264 base class oriented for hardware accelerated encoders, such as Vulkan, VA
and others.
1. It can be parametrized for hardware limits, such as lists size, b-frames
supports, etc.
2. It produces a GOP structure map [IDR, R/I/B, ...)
3. It proposes parameters set and other strucures such as bitrate limites.
Subclases can modify those structures.
4. It calls the subclass encode virtual method implementation.
It doesn't handle rate control algorithms or other encoding quality mechanisms.
For a deeper introduction to the class there was a lighting talk in the GstConf
2024: <https://www.youtube.com/watch?v=-fQY54KHH38 >
Co-authored-by: He Junyan <junyan.he@intel.com>
Co-authored-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Co-authored-by: Stéphane Cerveau <scerveau@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7197 >
2025-07-03 13:41:32 +02:00
Víctor Manuel Jáquez Leal
c09cc64a5e
vkencoder-private: free data on error
...
Co-authored-by: Stéphane Cerveau <scerveau@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7197 >
2025-07-03 13:41:19 +02:00
Víctor Manuel Jáquez Leal
678affaa2f
vkencoder-private: add gst_vulkan_encoder_rc_mode()
...
To get the updated rate control mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7197 >
2025-07-03 13:41:19 +02:00
Víctor Manuel Jáquez Leal
0af329d505
vkencoder-private: fix array layer for layered DPB
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7197 >
2025-07-03 13:41:19 +02:00
Víctor Manuel Jáquez Leal
88a302a3c9
vkencoder-private: free err when bailing
...
And log out the error message from the Vulkan call.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7197 >
2025-07-03 13:41:15 +02:00
Víctor Manuel Jáquez Leal
7001d48483
vulkan: ycbcr conversion extension got promoted in 1.1.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7197 >
2025-07-03 10:29:41 +02:00