Hou Qi
dd22125b1e
v4l2: Fix colorimetry mismatch for encoded format with RGB color-matrix
...
video-info supports encoded format to have RGB color-matrix, while
v4l2object just leave the v4l2 matrix to default when mapping
GST_VIDEO_COLOR_MATRIX_RGB. It causes gst matrix changed to be
GST_VIDEO_COLOR_MATRIX_BT601 when mapping v4l2 colorimetry.
So add support for encoded format with RGB color-matrix in v4l2object.
Note that for M2M encoders, we should in theory assume that that we can
transfer this value from OUTPUT to CAPTURE queues, though its only true
if the drivers does not do CSC. For now, we don't support any RGB
codecs, but leaving a note for the future.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7284 >
2024-07-31 11:14:12 +01:00
Nicolas Dufresne
654901612b
v4l2object: SRGB colorspace is documented limited-range
...
Split JPEG and SRGB so that we can follow the specified difference. The
SRGB definition in V4L2 does not follow the standard, and is document
so. This is also why JPEG colorspace exists.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7284 >
2024-07-31 11:14:12 +01:00
Nicolas Dufresne
37d64f651e
v4l2object: Fix size of plane_size array calculation
...
Due to missing parenthesys, only the first element of the array was
being cleared. As it is a staticly sized array in the object, this
code could also be simplified.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7284 >
2024-07-31 11:14:12 +01:00
Nicolas Dufresne
8c881e833c
v4l2object: Fix translation of quantization
...
The V4L2_MAP_QUANTIZATION macro has been fixed to something a lot saner,
fix our replica accordingly. The new macro now simply set the quantization
to full range is the pixel formats is RGB based, or if the JPEG
colorspace is used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7284 >
2024-07-31 11:14:12 +01:00
Guillaume Desmottes
0a2f3fbb9e
rsvgoverlay: add debug category
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7281 >
2024-07-30 20:44:12 +01:00
Edward Hervey
a6feed84e4
nlecomposition: Don't leak QoS events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7280 >
2024-07-30 16:09:41 +01:00
Tim-Philipp Müller
ad0cc551e1
Back to development after 1.24.6
2024-07-29 16:48:02 +01:00
Tim-Philipp Müller
8d175ea255
Release 1.24.6
2024-07-29 16:41:37 +01:00
Piotr Brzeziński
2aa610605e
macos: Listen for audio devices being added/removed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7258 >
2024-07-29 14:05:49 +00:00
Philippe Normand
14ca30a014
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/7257 >
2024-07-29 14:26:19 +01:00
Víctor Manuel Jáquez Leal
bb5632f5ef
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/7256 >
2024-07-29 11:25:41 +01:00
Seungha Yang
c92e150207
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/7252 >
2024-07-27 23:16:01 +01:00
Nirbheek Chauhan
541f9ba34d
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/7251 >
2024-07-27 20:19:10 +01:00
Jan Schmidt
6409510e33
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/7245 >
2024-07-26 12:25:09 +01:00
Shengqi Yu
65327c1a8c
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/7235 >
2024-07-25 16:43:34 +00:00
Guillaume Desmottes
eba5405512
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/7234 >
2024-07-25 14:42:15 +00:00
Guillaume Desmottes
62c8c8a6cd
qroverlay: add some debug logs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7234 >
2024-07-25 14:42:15 +00:00
Nirbheek Chauhan
22ef441dd9
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/7238 >
2024-07-25 13:19:13 +01:00
Tim-Philipp Müller
77b250bcca
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/7228 >
2024-07-24 12:31:59 +00:00
tomaszmi
c7df36c976
avtp: Fixed Linux/Alpine 3.20 build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7227 >
2024-07-24 12:53:09 +01:00
Matthew Waters
d705966861
qml/glsink: also support GLES2 needing shader 'precision' directives
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3616
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7125 >
2024-07-24 10:05:23 +00:00
Seungha Yang
df62e71289
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/7223 >
2024-07-24 00:25:09 +00:00
Ruben Gonzalez
75bcdc4564
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/7222 >
2024-07-24 00:15:14 +01:00
Loïc Yhuel
1305d597c7
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/7218 >
2024-07-23 16:32:10 +01:00
Sebastian Gross
406e8f3fe3
asfdemux: Be more lenient towards malformed header
...
VLC counts METADATA as 1 even if the specification states you must not.
This leads to asfdemux failing since there are no bytes left when asfdemux
tries to extract the "last" header.
Do not fail hard in this case and try to proceed when everything else went
fine.
So at least gst-discoverer will see what's in the file.
Closes #3684
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7216 >
2024-07-23 12:38:54 +01:00
Víctor Manuel Jáquez Leal
b831478e53
vulkan: fix wrong stages or access in barriers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7202 >
2024-07-22 13:38:15 +02:00
Nirbheek Chauhan
4a14196f28
glvideomixer: Fix critical when setting start-time-selection
...
It caused a critical, but did not affect functionality because the
GValue was passed as-is to the glvideomixerelement which actually does
something with the property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7207 >
2024-07-20 10:03:40 +01:00
L. E. Segovia
c045531222
isac: Work around upstream having no shared library support for MSVC
...
None of the symbols in webrtc-audio-coding-1 are marked with
`__declspec(dllexport)`, rendering the library usable only if
it was built with GCC/Clang.
The only fix available (as the pulseaudio copy has not been updated
with Google's upstream) is to ensure the fallback builds statically.
Although this change will also affect webrtcdsp's dependency on
webrtc-audio-processing-1, it does not break its compilation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7206 >
2024-07-20 02:05:59 +01:00
Guillaume Desmottes
8e2ed73fa9
downloadbuffer: send EOS in push mode
...
gst_download_buffer_read_buffer() returns FLOW_EOS but it was not
handled in the 'out_flushing' goto block which uses srcresult,
so EOS was not sent downstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140 >
2024-07-18 19:57:23 +00:00
Guillaume Desmottes
8d99e858ff
downloadbuffer: initialize upstream_size when activated in push mode
...
Push mode flow relies on upstream_size but it was not initialized when
activated as it is when activated in pull mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140 >
2024-07-18 19:57:23 +00:00
Guillaume Desmottes
a0ce51c2ba
downloadbuffer: init upstream_size to -1
...
Code in check_upstream_size() is checking for -1 to check if
upstream_size has been set or not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140 >
2024-07-18 19:57:23 +00:00
Guillaume Desmottes
d54bbfbd61
downloadbuffer: properly log when receiving events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7140 >
2024-07-18 19:57:23 +00:00
Jakub Adam
d56f601b48
gstvideoaggregator: preserve features in non-alpha caps
...
Fixes caps negotiation when sink template caps of an element inheriting
GstVideoAggregator have features different from the implicit
"memory:SystemMemory".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7198 >
2024-07-18 16:14:34 +01:00
Robert Mader
a3dd8c1f3a
vabase: Stop aligning VideoInfo during DMABUF import
...
Doing so resets the stride from the VideoMeta and it wasn't done before
the commit below. While on it, drop the plane size check as we can't
reliably predict the correct size when using DRM modifiers.
Fixes: 89b0a6fa23
("va: refactor buffer import")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7196 >
2024-07-18 10:57:04 +00:00
Robert Mader
7b7cf0afe4
vabase: Use correct VideoInfo during DMABUF import
...
The changes to the VideoInfo, notably the stride from the VideoMeta,
were lost. Avoid such mistakes by explicitly using the VideoInfo from
drm_info.
Fixes: 9f5b2c4e25
("va: use GstVideoInfoDmaDrm when importing buffers")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7196 >
2024-07-18 10:57:04 +00:00
Nirbheek Chauhan
3b398e7d9c
avfdeviceprovider: Fix debug category initialization
...
The device monitor calls into avfvideosrc functions without
initializing the debug category, which causes multiple criticals.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7195 >
2024-07-18 10:54:45 +01:00
Robert Mader
f4da9a4fea
va: Blocklist i965 driver for encoding
...
The driver - AKA intel-vaapi-driver - has been unmaintained for four years
now and encoding appears to be broken in various cases. As it's unlikely
that the situation will improve, blocklist the driver for encoding.
Decoding appears to be stable enough to keep it enabled.
The driver can still be used by setting the `GST_VA_ALL_DRIVERS` env
variable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7186 >
2024-07-16 20:55:49 +02:00
Seungha Yang
4780685745
d3d12compositor: Fix transparent background mode with YUV output
...
In case of YUV format without alpha channel, zero clear value
for each channle will result in green color. Use calculated black
background color with alpha=0 for transparent background mode instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7185 >
2024-07-16 17:02:08 +00:00
Seungha Yang
6d97fcd656
d3d11compositor: Fix transparent background mode with YUV output
...
In case of YUV format without alpha channel, zero clear value
for each channle will result in green color. Use calculated black
background color with alpha=0 for transparent background mode instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7185 >
2024-07-16 17:02:08 +00:00
Seungha Yang
c5f8587e8d
avauddec: Fix crash on stop()
...
GstFFMpegAudDec.context can be nullptr if decoder got closed
without opening new context. Note that we don't need to clear
AVCodecContext.extradata there since avcodec_free_context()
will do clear the data if needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7184 >
2024-07-16 18:07:59 +02:00
Seungha Yang
bef77722aa
h264decoder: Update output frame duration when second field frame is discarded
...
In case of an interlaced stream, if each field picture belongs to
different GstVideoCodecFrame, updates output frame's duration
based on discarded second field picture's timestamp information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7175 >
2024-07-15 20:10:41 +02:00
Víctor Manuel Jáquez Leal
2962097764
vadisplay: fix minor version check
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7169 >
2024-07-12 17:39:52 +02:00
Robert Mader
7502b1ef29
waylandsink: Fix surface cropping for rotated streams
...
The wp_viewport source rectangle is applied in surface-local coordinates
after buffer_transform and buffer_scale. Therefore we need to swap width
and height for 90/270 deg. rotations.
This fixes playback of rotated videos such as portrait videos from
mobile devices.
See also: https://wayland.app/protocols/viewporter#wp_viewport
Fixes: 0b648f9a2d
("waylandsink: Crop surfaces to their display width height")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7160 >
2024-07-10 20:11:32 +02:00
Seungha Yang
e6c19a7922
d3d11converter: Fix runtime compiled shader code
...
Restore mistakenly deleted code in a previous MR
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6803
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7138 >
2024-07-09 09:54:43 +00:00
Sebastian Dröge
b19a687437
typefind: Add typefinders for formats that were previously available via ffmpeg
...
Co-Authored-By: Matthew Waters <matthew@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7148 >
2024-07-08 16:25:32 +00:00
Sebastian Dröge
4f0fc8a42c
avvidenc: Make sure to pass always increasing PTS to the encoder
...
All MPEG1/2/4-based encoders at least are ignoring input frames if
backwards PTS or PTS that are equal to the previous one are passed in.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7148 >
2024-07-08 16:25:32 +00:00
Sebastian Dröge
963e15f920
avviddec: Only use 2 ticks per frame if decoding interlaced video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7148 >
2024-07-08 16:25:32 +00:00
Sebastian Dröge
20485320e5
avvidenc: Set the DTS to 0 if it is negative, not the PTS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7148 >
2024-07-08 16:25:32 +00:00
Sebastian Dröge
fa49369c46
avvidenc: Only use 2 ticks per frame if encoding interlaced video
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3518
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7148 >
2024-07-08 16:25:32 +00:00
Sebastian Dröge
fcbb1fa5f1
avmux: Reset input context to NULL after closing in the muxer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7148 >
2024-07-08 16:25:32 +00:00