Guillaume Desmottes
beb1cef3d4
rsvgoverlay: add debug category
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7246 >
2024-07-30 17:51:51 +00:00
David Rosca
6fe5d9013d
vaapi: Fix sps_max_dec_pic_buffering_minus1 value in h265 decoder
...
Fixes decoding SLPPLP_A_VIDYO_2 sample.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7242 >
2024-07-30 17:31:07 +00:00
Daniel Morin
4ff98d66bb
onnx: fix formating
...
Code alignement was not alway consistent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7205 >
2024-07-30 16:50:15 +00:00
Víctor Manuel Jáquez Leal
43edff4e29
vaapi: tests: fix uninitialized variable compiler warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7279 >
2024-07-30 15:06:25 +00:00
Edward Hervey
b7828d237b
nlecomposition: Don't leak QoS events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7276 >
2024-07-30 14:22:54 +00:00
Edward Hervey
a38e244794
vulkan: Add missing since markers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7277 >
2024-07-30 13:46:42 +00:00
Edward Hervey
30c2f67e49
bad: Add missing plugin since
...
These predate current stable release. Was never spotted since they weren't built
on the CI
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7277 >
2024-07-30 13:46:42 +00:00
Nirbheek Chauhan
fa25dd4de5
vtenc: Do not set the CRF/Quality parameter with ProRes
...
It's not supported with ProRes, setting the property will fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232 >
2024-07-30 12:42:17 +00:00
Nirbheek Chauhan
cbadb0b4ae
vtenc: Log warnings when setting a property fails
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232 >
2024-07-30 12:42:17 +00:00
Nirbheek Chauhan
f8711239e4
vtenc: Add max-frame-delay property
...
This controls the number of frames allowed in the compression window.
Not all encoders and implementations support it; I've only managed to
successfully use it with ProRes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232 >
2024-07-30 12:42:17 +00:00
Nirbheek Chauhan
30d2b8895a
vtenc: Support emulating CBR mode with data rate limits
...
CBR is only supported on Apple Silicon, and this "emulation" works
surprisingly well. We set the window size to a single frame, and don't
set ABR at all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232 >
2024-07-30 12:42:17 +00:00
Nirbheek Chauhan
d327105228
vtenc: Add new property for setting data rate limits
...
This proxies kVTCompressionPropertyKey_DataRateLimits, except it
only supports a single limit for now.
https://developer.apple.com/documentation/videotoolbox/kvtcompressionpropertykey_dataratelimits
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232 >
2024-07-30 12:42:17 +00:00
Nirbheek Chauhan
4207b4e281
vtenc: Add support for constant bitrate encoding
...
Only supported on macOS 13.0+ and iOS 16.0+ on Apple Silicon.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232 >
2024-07-30 12:42:17 +00:00
Nirbheek Chauhan
2e39aefe22
vtenc: Eliminate some needless complex code
...
We do not need a helper that takes a lock to fetch the values of these
properties. There is no race being prevented.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232 >
2024-07-30 12:42:17 +00:00
Nirbheek Chauhan
3621b82c63
vtenc: Fix setting of quality property
...
gst_vtenc_set_quality() will never actually set the VT compression
property, because it tries to set it on self->session which is not
initialized at this point.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7232 >
2024-07-30 12:42:17 +00:00
Edward Hervey
c623f2db21
validate: reporter: Don't pollute logs
...
There was a stray g_printerr introduced by 2a4b9c8dc1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7275 >
2024-07-30 11:39:02 +02:00
Jan Schmidt
0faec707a0
adaptivedemux: Fail cleanly if parsebin is not installed
...
Detect a failure to construct a parsebin and error out
cleanly instead of trying to operate on a null pointer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6969 >
2024-07-30 00:06:50 +00:00
Jan Schmidt
213726ca41
adaptivedemux2: Post a bus error when failing to start download
...
If a download completely fails to start, due to malformed URI or so,
post a bus error instead of just stalling out with no indication
why.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6969 >
2024-07-30 00:06:50 +00:00
Jan Schmidt
f2a18ab277
adaptivedemux2: Implement file:// URI handling
...
Add the ability to play HLS and DASH from local files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6969 >
2024-07-30 00:06:50 +00:00
Jan Schmidt
9dc1d68e2f
codec-utils: Recognise mjpg mime type
...
Add mjpg to gst_codec_utils_caps_from_mime_codec_single()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6969 >
2024-07-30 00:06:50 +00:00
Jan Schmidt
ef0e822559
hlsng: Check caps are not null after parsing HLS CODECS tag
...
If the mime codec wasn't recognised, caps will be NULL and cause
a critical
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6969 >
2024-07-30 00:06:50 +00:00
Jan Schmidt
7bd51afd04
gsturi: Ensure file:// URIs retain //
...
Add the // back after the scheme for file URIs so 'file:///path/to/file'
doesn't become 'file:/path/to/file' in gst_uri_to_string()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6969 >
2024-07-30 00:06:50 +00:00
Víctor Manuel Jáquez Leal
bff24e5ab7
vulkanupload: comment zero value usage with VK_ACCESS_NONE
...
Zero is used only for Vulkan version prior to 1.3, because it wasn't defined
before.
Just for readability.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247 >
2024-07-29 17:10:15 +02:00
Víctor Manuel Jáquez Leal
fad06c9b6f
vkimagebufferpool: refactor how image usage is set
...
Now that driver version is expected to be equal or superior to 1.3.275 the bug
in NVIDIA and RADV regarding usage is solved, we can revert commit b7ded81f7b
.
Also this patch sets the internal usage variable after all the validation are
run, thus the state don't keep an invalid usage.
Finally, the now unused supported_usage variable is dropped.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247 >
2024-07-29 17:10:15 +02:00
Víctor Manuel Jáquez Leal
bb9eb6f477
vkimagebufferpool: add encoding usage as video usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247 >
2024-07-29 17:10:15 +02:00
Víctor Manuel Jáquez Leal
541e2e93ca
vkimagebufferpool: reset the number of profiles at set_config()
...
Virtual method set_config() can be called several times, and if the number of
profiles counter isn't reset the pool will reach an error state.
The purpose of number of profiles is to check the number of valid vulkan video
profiles (two in the case of transcoding use-case, for example) so it's local to
set_config() virtual method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247 >
2024-07-29 17:10:14 +02:00
Víctor Manuel Jáquez Leal
d8e384085a
vulkan: encoder and decoder runtime check for driver version 1.3.275
...
Which is the one checked in meson. See commit 21ee264d65
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7247 >
2024-07-29 17:10:14 +02:00
Philippe Normand
bd64374174
parsebin: accept-caps handling for elements with unusual pad names
...
In case the last element of the parse chain doesn´t have a sink pad named
"sink", send the accept-caps query to the first sink pad of the element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7255 >
2024-07-29 12:41:33 +00:00
Víctor Manuel Jáquez Leal
8faefccfd5
va: refactor dmabuf handle close
...
Moved the close loop into a function guarded for non-win32 platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7254 >
2024-07-29 10:34:56 +02:00
Seungha Yang
080a838fca
qsv: Fix critical warnings
...
Fixing warnings
GStreamer-CRITICAL **: 01:21:25.862: gst_value_set_int_range_step:
assertion 'start < end' failed
Although when QSV runtime reports a codec is supported, resolution query
fails sometimes, espeically VP9 encoder case on Windows.
Don't try to register an element if resolution query returned an error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7250 >
2024-07-27 19:33:52 +00:00
Nirbheek Chauhan
0bb336f34c
svtav1enc: Fix segfault when flushing
...
gst_video_encoder_get_oldest_frame() is nullable, and will signal that
all frames are handled by returning NULL.
Fixes #3650
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7249 >
2024-07-27 19:21:37 +01:00
Seungha Yang
f04f6f43c3
d3d12frame: Fix frame copy method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 04:18:47 +09:00
Seungha Yang
28a7adf4dd
d3d12memory: Check heap flag before trying to create NT handle
...
CreateSharedHandle() will fail eventually if the resource was created
with non-shared heap. Instead of trying to create handle blindly,
validate resource first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 04:17:03 +09:00
Seungha Yang
1c8c5ed457
dwrite: Prefer d3d12 resource allocated with shared heap
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 03:39:22 +09:00
Seungha Yang
4a6daad517
d3d12: Suppress fence data object leak report
...
We don't release GstD3D12Device intentionally, thus
a GstD3D12FenceDataPool owned by a device will not be released
but that's expected leak.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 03:23:22 +09:00
Seungha Yang
9a8d7db5de
d3d12: Fix debug category name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 03:23:22 +09:00
Seungha Yang
88efaa35a8
d3d12download: Do not overwrite fence of non-writable memory
...
A fence configured in GstD3D12Memory should be used only for
write access to be completed. And because d3d12 -> d3d11 copy path
is read access to d3d12 resource, we should not set fence to
memory. Otherwise another read access to the d3d12 resource
will wait for d3d11 device context's copy operation although
simultaneous read access is allowed.
Use background thread to keep d3d12 resource and wait for d3d11 device's
copy operation instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7243 >
2024-07-27 03:23:22 +09:00
Jan Schmidt
1ebbcc31ef
va: Fix dmabuf handle leaks
...
Close dmabuf handles manually when they're not going to
be passed into GStreamer FD memory, to avoid fd handle
leaks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7240 >
2024-07-26 10:32:48 +00:00
Jordan Yelloz
f11735c97b
tsmux: Adjust byte counter when adjusting bitrate
...
When configured in constant bitrate mode, the muxer computes timing information
using the configured bitrate and the byte counter (now = bytes sent / byterate).
When an application changes the bitrate in CBR mode during playback, the
relationship between bytes sent and bitrate is no longer valid so new timing
values will be off by the ratio of the old bitrate to the new bitrate.
Furthermore, it will upset the way that padding is generated.
pad_stream() works by trying to fit the byte counter to now * byterate.
The result is that when decreasing bitrate, the muxer stalls, waiting until the
byte counter is in agreement with now * byterate. Also, when increasing
bitrate, the padding will spike in volume until the byte counter fits with
now * byterate.
If the byte counter is scaled by the ratio of new bitrate / old bitrate when
adjusting bitrate, then padding is generated in a way that applications would
more likely expect.
One detail this change doesn't yet address is whether the next PCR will match up
optimally with the previous PCR right after the byte counter is scaled. In that
case, some correction may be necessary. Also, perhaps the user should be
prevented from changing from bitrate=0 to bitrate=nonzero during playback since
it's not straightforward how to scale the byte counter in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7158 >
2024-07-25 15:02:11 +00:00
Nicolas Dufresne
96a2408147
glcolorconvert: Fix syntax error in detiling shader
...
Mesa compiler complains of:
error: `rgba' redeclared
This regression got introduced by 674e643428
, which introduce
colormatrix computation without revoing the pre-declaration of
rgba variable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7231 >
2024-07-25 14:10:52 +00:00
Edward Hervey
f7337b7477
ffmpeg: Don't register elements for which we have no caps
...
We would previously register a whole bunch of encoder/decoder for which the caps
were ... "unknown/unknown".
Add a function to quickly check (without generating caps) whether a given
AVCodecID has a known mapping (which can include the {video|audio}/x-gst-av-*
ones) without generating the caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6237 >
2024-07-25 12:14:50 +00:00
Nirbheek Chauhan
6a913a98ca
ci: Fix subprojects cache dir usage on macOS jobs
...
The location is on `/subprojects` on macOS. In all cases, the actual
location is specified in `.gitlab-ci.yml`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7236 >
2024-07-25 16:09:08 +05:30
Guillaume Desmottes
a82151b84f
qroverlay: redraw overlay when caps changes
...
The position needs to be updated as it depends of the video size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7230 >
2024-07-25 06:55:29 +00:00
Guillaume Desmottes
6e7300d2a8
qroverlay: add some debug logs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7230 >
2024-07-25 06:55:29 +00:00
Shengqi Yu
df28aceb49
videoscale: correct classification error
...
videoscale does not have convert function, so remove the convert
description in it's classification. Otherwise, if we want use
autovideoconvert to convert colorsapce, autovideoconvert will select
videoscale to do convert and this will cause to fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7215 >
2024-07-25 05:42:25 +00:00
Tim-Philipp Müller
0f537919a2
wraps: libgudev: add fallback uri
...
Release tarball is .xz but we currently use a snapshot
from gitlab, so just mirror the .bz2 instead of changing
all URLs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7221 >
2024-07-24 11:44:28 +00:00
tomaszmi
07d601bbbc
avtp: Fixed Linux/Alpine 3.20 build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7226 >
2024-07-24 12:07:09 +02:00
Seungha Yang
0b285fc1a1
cuda: Fix runtime compiler loading with old CUDA tookit
...
Fallback to PTX if CUBIN symbol is unavailable
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3685
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7220 >
2024-07-23 19:53:09 +00:00
Ruben Gonzalez
3e4c8f1b16
avmux: Fix crash when muxer doesn't get codecid
...
gst_ffmpeg_formatid_get_codecids from gst_ffmpegmux_base_init to gst_ffmpegmux_base_init
FFmpeg 7.0 included new muxer rcwt for Raw Captions with Time
(RCWT). Commit [1]. GStreamer couldn't get sink caps for muxer it.
Calling gst_ffmpeg_formatid_get_codecids in gst_ffmpegmux_register to
avoid create muxer without pad templates.
[1] https://github.com/FFmpeg/FFmpeg/commit/3525544e48
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7168 >
2024-07-23 18:42:22 +00:00
Loïc Yhuel
13034cc63f
meson: fix SIZEOF_OFF_T when cross-compiling with Meson >= 1.3.0
...
https://mesonbuild.com/Release-notes-for-1-3-0.html#clarify-of-implicitlyincluded-headers-in-clike-compiler-checks
With only stddef.h, off_t is not defined, so when cross-compiling SIZEOF_OFF_T is -1.
We now use sys/types.h which should define off_t.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7217 >
2024-07-23 15:32:22 +02:00