122799 Commits

Author SHA1 Message Date
Olivier Crête
f88e6781cd AUTHORS: Remove outdated files
They only contained historical contributors, the modern version is
to look at the git logs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9476>
2025-08-01 16:00:20 +00:00
Olivier Crête
668d54f8fb MAINTAINERS: Update to reflect current maintainership
Instead of listing everyone, just point to GitLab

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9476>
2025-08-01 16:00:20 +00:00
Olivier Crête
235258259d REQUIREMENTS: Remove outdated doc
They contained information which was completely outdated.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9476>
2025-08-01 16:00:19 +00:00
Víctor Manuel Jáquez Leal
f170eff6bb vaXXXenc: fix potential race condition
VA encoders, at reconfiguration, have to check if the rate-control was changed
by the user, but since user parameters setting are in another thread, the
comparison was racy.

This patch locks the object to compare the current rate-control with the one set
by the user.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9480>
2025-08-01 15:20:56 +00:00
Jonathan Lui
c81c19bfdc vaav1enc: Enable intrablock copy and palette mode
This allow screen content coding (SCC) optimization feature.

Co-authored-by: Victor Jaquez <vjaquez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8560>
2025-08-01 13:42:37 +00:00
Seungha Yang
0c378091a0 d3d12screencapturedevice: Avoid false device removal on monitor reconfiguration
Post device-changed instead of device-removed/device-added when
only HMONITOR or display position changed without actual device change.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9472>
2025-08-01 12:51:46 +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
0428b71c68 avtpbasepay: Add debug message for time handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9412>
2025-07-31 22:15:07 +00:00
Olivier Crête
c76f65e0ee avtpbasepay: Make make constants more readable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9412>
2025-07-31 22:15:07 +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
Olivier Crête
134ff5b45f avtp: Use nicely abstracted process function in base depayloader class
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9412>
2025-07-31 22:15:07 +00:00
Olivier Crête
0398e376b0 avtp: Intercept changes in the latency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9412>
2025-07-31 22:15:06 +00:00
Olivier Crête
cf039e49e8 avtpvfpaybase: Don't require a caps handling method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9412>
2025-07-31 22:15:06 +00:00
Nicolas Dufresne
33d0170d6e docs: Update documentation cache for new RGB 10bit support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9460>
2025-07-31 21:34:35 +00:00
Nicolas Dufresne
6078cee500 opengl: Add opaque 10bit RGB support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9460>
2025-07-31 21:34:35 +00:00
Nicolas Dufresne
c5657fde44 waylandsink: Enable 10bit RGB for SHM buffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9460>
2025-07-31 21:34:35 +00:00
Nicolas Dufresne
b634094928 video: Add more variants of 10bit RGB formats
Add support for RGB10A2/BGR10x2/RGB10x2.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9460>
2025-07-31 21:34:35 +00:00
Nicolas Dufresne
a4969e8c02 av1parse: Set MDI into the final caps
The MDI was being set in the original caps which is not even writable.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9474>
2025-07-31 20:54:02 +00:00
Olivier Crête
40828d890b onnx: Add Verisilicon provider
Add the option to use the VSI provider for the Verisilicon NPUs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9408>
2025-07-31 18:09:19 +00:00
Marc-André Lureau
78f0f61523 meson: d3d12: Add support for MinGW DirectXMath package
This is a similar issue that was found for d3d11:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6495

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9464>
2025-07-31 15:09:34 +00:00
Seungha Yang
ffc3d16983 device-monitor: Use gst_print instead of g_print
Avoid broken stdout output on Windows. Same change was made for
gst-launch in commit 493a3261a9757b5ade7aec289eb07221966f9eed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9467>
2025-07-31 20:12:43 +09:00
Matthew Waters
9522551e1d gl/basesrc: add get_gl_context
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9455>
2025-07-31 02:24:46 +00:00
Matthew Waters
9dca1f4a6f gl/basesrc: support changing caps
Caps may change the framerate used and the frame counting approach for
timestamps, needs to account for this by taking a snapshot of the current frames
and running time to add to all subsequent produced frames.  Code is mostly taken
from videotestsrc.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9455>
2025-07-31 02:24:46 +00:00
Víctor Manuel Jáquez Leal
6cfc1d383c vulkanh264enc: calculate latency with corrected framerate
Fix for the h264encoder base class in the same spirit of !9437.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9465>
2025-07-30 15:37:21 +00:00
Amotz Terem
489e908a92 nvcodec: Add emit-frame-stats signal
Add emit-frame-stats property to optionally emit frame stats on each frame

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9429>
2025-07-30 14:13:46 +00:00
Hou Qi
7b61be6c43 v4l2videodec: Fix assertion failure when acquiring drm caps
This is to fix assertion failure "assertion 'drm_info->drm_fourcc != DRM_FORMAT_INVALID' failed"
when acquiring drm caps.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8533>
2025-07-30 17:32:24 +09:00
Jaslo Ziska
b58605ec0d gloverlay: Recompute geometry when caps change
Set geometry_changed when setting caps so that the geometry is
recomputed correctly with the new dimensions.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9434>
2025-07-30 03:07:08 +00:00
Jaslo Ziska
3f99fb7f94 gloverlay: Load texture after stopping and starting again
Set location_has_changed when stopping so that the texture will be
loaded when starting again.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9434>
2025-07-30 03:07:08 +00:00
Nirbheek Chauhan
87ed0c0e33 windows: Disable all audio device providers except wasapi2
We have too many device providers outputting duplicate device entries,
and it's not clear to people what they should be using. Let's only
keep wasapi2 around since it is PRIMARY + 1.

After the device switching work done on WASAPI2, there is no reason to
use directsound anymore.

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9326

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9438>
2025-07-30 00:21:18 +00:00
Nirbheek Chauhan
7788186a30 meson: Pass sysprof=disabled to glib
sysprof cannot be built on Windows, and this causes the build to fail
on Windows.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9438>
2025-07-30 00:21:18 +00:00
Nirbheek Chauhan
eef8ec6e47 meson: Pass python=false to libxml2
We don't need this in gstreamer anyway.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4510

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9438>
2025-07-30 00:21:18 +00:00
Philippe Normand
009192bde4 vavp9dec: Always chain to parent class negotiate vmethod
When the base videodecoder class re-attempts a negotiation after flush, the
vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
situation the input state hasn't changed.

By always chaining up we are sure that buffer pool negotiation will always be
attempted.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9457>
2025-07-29 21:34:59 +01:00
Philippe Normand
eab8abad8c vajpegdec: Always chain to parent class negotiate vmethod
When the base videodecoder class re-attempts a negotiation after flush, the
vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
situation the input state hasn't changed.

By always chaining up we are sure that buffer pool negotiation will always be
attempted.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9457>
2025-07-29 21:34:59 +01:00
Philippe Normand
8317dd5ef3 vaav1dec: Always chain to parent class negotiate vmethod
When the base videodecoder class re-attempts a negotiation after flush, the
vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
situation the input state hasn't changed.

By always chaining up we are sure that buffer pool negotiation will always be
attempted.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9457>
2025-07-29 21:34:59 +01:00
Philippe Normand
92931e2907 vabasedec: Instrument negotiate function with debug statements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9457>
2025-07-29 21:34:59 +01:00
Philippe Normand
a28a040913 vabasedec: Always chain to parent class negotiate vmethod
When the base videodecoder class re-attempts a negotiation after flush, the
vabasedec `need_negotiation` flag isn't necessarily set to TRUE, because in that
situation the input state hasn't changed.

By always chaining up we are sure that buffer pool negotiation will always be
attempted.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9457>
2025-07-29 20:31:21 +01:00
Philippe Normand
914beb9756 vah264dec: Spelling fix in warning debug statement
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9457>
2025-07-29 20:31:21 +01:00
Philippe Normand
e07c720476 h264decoder: Spelling fix in warning debug statement
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9457>
2025-07-29 20:31:21 +01:00
Olivier Crête
f69c8bf4aa onnx: Add debug message with tensor id
Also downgrade input dimensions as it's shown on
each buffer.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9439>
2025-07-29 14:20:48 -04:00
Olivier Crête
edd46c51f1 ssdtensordecoder: Use tensor ids from the registry
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9439>
2025-07-29 14:20:14 -04:00
Thibault Saunier
47213732b5 ignore: Exclude build artifacts and minified files from ripgrep
Add common build directories, minified files, and node_modules
to .ignore file to reduce noise when using ripgrep for code search.

Follow-up to !9458 which addressed git grep via .gitattributes.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9459>
2025-07-29 12:09:49 -04:00
Thibault Saunier
fb36c54bd8 gitattributes: Mark dots-viewer dist files as binary
This prevents git grep from searching through minified JavaScript
and other generated files in the dots-viewer static distribution
directory, reducing noise in search results.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9458>
2025-07-29 11:15:07 -04:00
Derek Foreman
f1f482f3d6 av1parse: Set CLL and MDI caps
We already parse the content-light-level and mastering-display-info data
from the stream, so propagate that into caps.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9445>
2025-07-29 11:06:24 +00:00
Derek Foreman
a26983d043 wayland: display: Scale whitepoint the same as the primaries
The whitepoint metadata also needs the same scale factor as the
display_primaries.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9444>
2025-07-29 04:08:52 +00:00
Derek Foreman
e33f89a4bf wayland: window: Name the color management queue
Wayland debugging is easier if we use queue names.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9446>
2025-07-29 00:12:00 +00:00
Julian Bouzas
b375b7d3e9 lcevcdecoder: Add lcevch265decodebin and lcevch266decodebin elements
Similar to lcevch264decodebin, these new elements are needed for LCEVC H265 and
H266 video streams to be decoded properly with autoplugging elements.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9427>
2025-07-28 23:13:05 +00:00
Julian Bouzas
7411337812 h266parse: Fix typo when finding compatible profiles
This solves some critical errors about not fixed caps with some H266 streams.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9427>
2025-07-28 23:13:05 +00:00
Julian Bouzas
064d2dedd6 h266parse: 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
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
Julian Bouzas
98d3228fc2 codecparsersbad: Accept lcevc=false sink caps
This is needed if the LCEVC enhancement data is part of the video stream as SEI
and the demuxer outputs 'lcevc=false' src caps because LCEVC enhancement data is
not stored as a separate stream in the container.

To clarify, 'lcevc=true' just means that the video buffers have LCEVC metadata
attached. Therefore, it is valid to have a stream with LCEVC enhancement data as
SEI with 'lcevc=false' as long as it is not attached as metadata.

This will be needed once we add support for the demuxer to attach LCEVC metadata
to video buffers if it is stored in a separate track.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9427>
2025-07-28 23:13:05 +00:00