Sebastian Dröge
f575fe763c
qtdemux: Handle stsd entry offset correctly for audio in qtdemux_parse_node()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
ae4d505fe0
qtdemux: Pass stsd entry node to caps creation functions
...
Also fix lpcm to only read its additional fields from sound sample description v2.
Previously it would read random data if a different stsd entry was used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
3ecb07c674
qtdemux: Don't parse invalid data from ISOBMFF AudioSampleEntryV1
...
The additional fields only exist in sound sample description v1, which
is only defined for MOV.
ISOBMFF has AudioSampleEntryV1 but it has the exact same layout as
AudioSampleEntry.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
fec61cc546
qtdemux: Don't retrieve video stsd entry multiple times
...
And remove various duplicated checks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
af5cce9968
qtdemux: Parse uncompressed video uncC / cmpd boxes from already parsed stsd entry
...
Also simplifies code and error checking considerably.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
a6e58f7331
qtdemux: Don't retrieve enca/encv boxes a second time, wrongly
...
They need to be retrieved by index and they were already correctly retrieved
just above so let's just use that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
bb50741b73
qtdemux: Use already parsed stsd entries instead of parsing them again
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Sebastian Dröge
cf2b1909ec
qtdemux: Fix typo in debug message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8929 >
2025-05-17 07:59:46 +00:00
Matthew Waters
ea577da12e
examples/webrtc/signalling: fix compatibility with python 3.13
...
Fixes:
Traceback (most recent call last):
File "/usr/lib64/python3.13/site-packages/websockets/asyncio/server.py", line 373, in conn_handler
await self.handler(connection)
~~~~~~~~~~~~^^^^^^^^^^^^
TypeError: WebRTCSimpleServer.run.<locals>.handler() missing 1 required positional argument: 'path'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8992 >
2025-05-16 18:33:09 +00:00
Sebastian Dröge
08c56f3e2d
element: ref-sink the correct pad template when replacing an existing one
...
templ is the new one that is being stored and that needs to be ref-sinked,
padtempl is the old one that just needs to be unreffed.
Fixes leaking the old template, and also makes sure that the new template is not
floating which can cause use-after-frees with bindings as they might wrongly
take ownership of a still floating template.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8988 >
2025-05-16 17:47:47 +00:00
Adrian Perez de Castro
6432f6a1f2
alsa: Avoid infinite loop in DSD rate detection
...
Stop testing DSD rates in gst_alsa_detect_dsd_rates() if the rate becomes zero
or negative. This avoids an infinite loop if gst_alsa_probe_supported_formats()
is used on a PCM sink defined like the following in the ALSA configuration file:
pcm.buggy {
type plug
slave.pcm "buggy_volume"
hint.description "Causes an infinite loop in GStreamer"
}
pcm.buggy_volume {
type softvol
slave.pcm "buggy_dmix"
control.name "buggy_volume"
}
pcm.buggy_dmix {
type dmix
ipc_key 12345
slave {
pcm "hw:0,0"
period_size 1024
buffer_size 4096
}
}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8985 >
2025-05-16 17:09:05 +00:00
Robert Mader
c03a5b0c1b
glupload: Only add texture-target field to GL caps
...
So far we simply ignored it for MEMORY_DMABUF passthrough caps
without known negative cosequences, but with upcoming more complicated
caps negotiations it's becoming an issue, thus fix it.
Fixes: 7e71d4f753
("gl: upload: Add DMA_DRM passthrough upload")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8964 >
2025-05-16 13:40:43 +00:00
Jordan Petridis
818feea0b5
bad: Add more variants for an srt suppression
...
Followup to 087cb87d27
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
Jordan Petridis
17d271057a
core: suppress glib_init_ctor as well
...
We already suppress gobject_init_ctor and this
is the same.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8979 >
2025-05-15 15:21:20 +00:00
Jordan Petridis
9dc21492a3
opencv: import as system dep
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8979 >
2025-05-15 15:21:20 +00:00
Jordan Petridis
d68f472683
bad: Avoid gcc false positive about variable initialization
...
In gstbayer2rgb the dtmp always gets initialized when
we check for bayersrc16.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8979 >
2025-05-15 15:21:20 +00:00
Sebastian Dröge
faa912a31d
wavparse: Error out correctly if no data tag is found until EOS in pull mode
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8956 >
2025-05-15 10:24:37 +00:00
Sebastian Dröge
ba8fd35e72
wavparse: Ignore EOS when parsing the headers
...
The file might be truncated or contain < 8 bytes of remaining data after the
last chunk.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4426
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8956 >
2025-05-15 10:24:37 +00:00
Doug Nazar
a332a411b7
tests: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
a8e11cec9a
spectrum: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
ebaf87cd17
law: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
39cb7b38e7
flac: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
11dccf43e0
volume: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
bf05a050e9
audiomixer: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
af2b6b4c38
adder: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
17474ebbb2
videoframe-audiolevel: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
a9f5362ff7
musepack: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
19e35473f0
ges-audio-track: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
d3658eef72
controller: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:47:37 -04:00
Doug Nazar
80072383c5
directcontrolbinding: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:46:34 -04:00
Doug Nazar
42741ce897
rtspclientsink: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:45:12 -04:00
Doug Nazar
0c0b4ad6d0
gstrtspsrc: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:44:21 -04:00
Doug Nazar
e4f60e44ee
gstglfiltershader: Free various props before set & during cleanup
...
gst_object_replace() takes a reference so no need to dup object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:42:37 -04:00
Doug Nazar
4fb0a06271
uritranscodebin: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:37:59 -04:00
Doug Nazar
38ca8ae156
transcodebin: Free various props before being set
...
Also disable setting filters more than once.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:35:58 -04:00
Doug Nazar
9d91e4cfc2
vulkan: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:34:59 -04:00
Doug Nazar
e81d0124da
transcoder: Free various props before during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:23:53 -04:00
Doug Nazar
5867c7900a
all: Annotate *_set_property() contructor only props without free
...
Properties that are marked constructor only aren't required to be freed
before g_value_dup_*() as they can only be called once during construction.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:15:21 -04:00
Seungha Yang
4d87ffb8f3
d3d12decoder: Workaround for NVIDIA crash on resolution change
...
Recent NVIDIA driver seems to crash on resolution change
if ID3D12VideoDecoder and ID3D12VideoDecodeCommandList are reused.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4415
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8968 >
2025-05-12 23:40:13 +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
f13c757696
h264parse: Require codec_data when receiving stream-format=avc or avc3
...
It's not really possible to safely interpret the content afterwards if
it's missing.
Even for AVC3, the codec_data doesn't need to contain a SPS/PPS, but
it still needs to be present to tell downstream elements about the size
of the nal unit length field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8955 >
2025-05-12 18:31:46 -04:00
Olivier Crête
ffed473992
h264parse: Never output stream-format=avc/avc3 caps without codec_data
...
It's not possible to interpret further buffers without knowing the nal_length_size
field, so avc1/avc3 caps without the codec_data aren't valid, don't push them out.
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
bef18d47cf
nvjpegenc: Add autogpu mode element
...
Similar to nvautogpu{h264,h265,av1}enc, adding auto gpu select mode
element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8555 >
2025-05-11 00:01:28 +00:00
Seungha Yang
7d45eca2ce
nvjpegenc: Use stream-ordered alloc if requested
...
If user requested stream-ordered allocation, use async alloc/free
methods
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8555 >
2025-05-11 00:01:28 +00:00
Xavier Claessens
0172e47a79
python: Add Gst.Float wrapper
...
When the float python type is used inside a GstValueArray, it is
converted to a G_TYPE_DOUBLE GValue. Sometimes it is important to be
able to force G_TYPE_FLOAT GValue, for instance to set the the
"mix-matrix" property on audioconvert.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8957 >
2025-05-10 23:23:14 +00:00
Xavier Claessens
cff1d1962b
gstmessage: Debug error message is nullable
...
When debug is NULL, gst-launch-1.0 won't print
"Additional debug info:" line.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8943 >
2025-05-10 22:13:22 +00:00
Xavier Claessens
d5995b9302
python: Fix usage of our overrides from devenv
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8952 >
2025-05-10 21:38:06 +00:00
Xavier Claessens
6833932e92
python: Optimize ValueArray.get_size()
...
There is no need to call into C layer as we have the python list
already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8952 >
2025-05-10 21:38:06 +00:00
Xavier Claessens
c2a4c3a53a
python: override Gst.ValueArray.append_value()
...
This ensures that self.array is kept up to date.
Add append() method that is more natural than the static method.
Allow creating empty ValueArray by omitting the constructor parameter.
Fixes : #3114
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8952 >
2025-05-10 21:38:05 +00:00
Xavier Claessens
20904a1b92
python: Fix coding style errors in unit tests
...
Otherwise pre-commit does not pass.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8952 >
2025-05-10 21:38:05 +00:00
Santosh Mahto
700b665bf7
gstanalytics: Add transform function to copy the tensor meta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8825 >
2025-05-10 20:58:52 +00:00
Daniel Morin
57e8dbfeb4
analytics: change tensor-id and use new API
...
- tensor-id changed to match tensor-id-registry at https://github.com/collabora/tensor-id-registry
- Use new GstTensorMeta API to get tensor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8548 >
2025-05-10 19:18:41 +00:00
Daniel Morin
ec60daa66d
tensordecoder: add general classifier tensor-decoder
...
- Classification output is more standard compare to other tensor-decoder.
- This tensor-decoder implement a standard classification tensor-decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8548 >
2025-05-10 19:18:40 +00:00
Alexander Slobodeniuk
7f4282481e
removesilence: canonicalize property names
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8915 >
2025-05-10 12:09:38 +00:00
Alexander Slobodeniuk
da2e67d5d8
handdetect: canonicalize property names
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8915 >
2025-05-10 12:09:38 +00:00
Alexander Slobodeniuk
d437e92049
properties: add G_PARAM_STATIC_STRINGS where missing
...
"Hold on, I know you need to generate the registry, but let me just
create copies of all those strings first", Framework whispered
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8915 >
2025-05-10 12:09:38 +00: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
Seungha Yang
864068c045
cuda: Fix runtime PTX compile
...
Handle extra option args
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8950 >
2025-05-10 11:06:16 +00:00
Olivier Crête
14f833fdcf
rtph264pay: Reject stream-format=avc without codec_data
...
Without the codec_data, it's impossible to know the size of the field
for the number of NALu in a buffer. And since nal_length_size is unkown
the stream can't be parsed and payloaded and we risk an infinite loop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8954 >
2025-05-10 10:23:30 +00:00
Pablo García
380a947155
curl: use CURL_SOCKET_BAD to ensure cross-platform
...
Solves this error in Windows build:
../ext/curl/gstcurlbasesink.c:1154:14: error: comparison of unsigned
expression in '< 0' is always false [-Werror=type-limits]
1154 | if (curlfd < 0) {
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8615 >
2025-05-09 00:16:11 +00:00
Sebastian Dröge
999c43ada1
mikey: Avoid infinite loop while parsing MIKEY payload with unhandled payload types
...
Skip over the unhandled payload types for now, and error out if an unknown
payload type is found.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3314
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8917 >
2025-05-07 05:56:53 +00:00
L. E. Segovia
86ef06ddff
curl: Fix build with MSVC
...
See https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1740#note_2895537
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8932 >
2025-05-07 00:52:16 +00:00
Jakub Adam
ba87e0112f
qt6glwindow: add log message when a buffer pool gets set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8938 >
2025-05-06 19:50:43 +00:00
Jakub Adam
9f4f543bf7
gldownload: improve logging of gl-dmabuf pool usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8938 >
2025-05-06 19:50:43 +00:00
Jakub Adam
f9941b135f
gldmabufferpool: disable "free cache" workaround in GstGLBufferPool
...
This pool isn't reusing its buffers, which makes it pointless to enable
the cache
Holding an extra buffer in free queue can also lead to a deadlock when
the pool's max buffer count is configured low (commonly 2).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8939 >
2025-05-06 18:22:19 +00:00
Sebastian Dröge
fff260f1aa
qtdemux: Don't configure any channel-mask in fallback case with 1 channel
...
For mono we don't set any channel mask. Setting 0 would mean an unpositioned
layout with a single channel.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8928 >
2025-05-06 13:20:29 +00:00
Sebastian Dröge
7f8b27837c
qtdemux: Add channel layouts to three more raw audio fourccs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8928 >
2025-05-06 13:20:29 +00:00
Sebastian Dröge
737f653e7c
qtdemux: Parse chan box
...
This is another variant of providing channel positions.
Also if neither chan nor chnl boxes are found, configure a default channel
layout for raw audio tracks.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4403
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8928 >
2025-05-06 13:20:29 +00:00
Sebastian Dröge
5c16c8f0c1
qtdemux: Check length of JPEG2000 colr box before parsing it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8930 >
2025-05-06 11:09:55 +00:00
Sebastian Dröge
f18123ea15
qtdemux: Remove obsolete TODO comment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8930 >
2025-05-06 11:09:55 +00:00
Sebastian Dröge
b461115699
interleave: Don't hold object lock while querying caps downstream
...
This can easily lead to deadlocks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8933 >
2025-05-06 09:44:03 +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
Víctor Manuel Jáquez Leal
7a14b9020c
y4m: support more color formats
...
These are unofficial yuv4mpegpipe formats, but used for 10bit streams.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:47 +00:00
Víctor Manuel Jáquez Leal
1b023dee2e
y4m: add color mappings
...
Now the chroma subsampling tag will include the chroma site. Tests
where updated accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:47 +00:00
Víctor Manuel Jáquez Leal
7c8a5cd28d
y4mdec: descend from GstBaseParse
...
This is an overhaul/simplification of the element.
Now it supports seek, while the performance remains more or less the same.
Fixes : #4373
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:47 +00:00
Víctor Manuel Jáquez Leal
ef7829b6ad
tests: add y4mdec unit test
...
simple decoding of a i420 15x15 red square, shared with the y4menc unit test.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:47 +00:00
Víctor Manuel Jáquez Leal
8d4a6a7d64
y4mdec: handle time segments
...
so chaining y4menc ! y4mdec is possible.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:47 +00:00
Víctor Manuel Jáquez Leal
82e6c1c640
y4mdec: instead of memcmp, use gst_video_info_is_equal()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:47 +00:00
Víctor Manuel Jáquez Leal
4cf598bcf3
y4m: share common code among encoder and decoder
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:47 +00:00
Víctor Manuel Jáquez Leal
6bcf0e3276
docs: update iOS player and tutorials, Android docs and symbols
...
docs: update symbols
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:46 +00:00
Víctor Manuel Jáquez Leal
16d34468fb
y4m: move y4mdec to good to have a single y4m plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:46 +00:00
Alexander Slobodeniuk
b9a5efbe07
webrtc: fix build with -DGST_REMOVE_DEPRECATED
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8901 >
2025-05-04 22:19:55 +00:00
Alexander Slobodeniuk
14d4c249ad
qtmux: fix building with -DGST_REMOVE_DEPRECATED
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8901 >
2025-05-04 22:19:55 +00:00
Tim-Philipp Müller
128710caab
meson: rename meson_options.txt to meson.options
...
Which is supported since Meson 1.1:
https://mesonbuild.com/Release-notes-for-1-1-0.html#support-for-reading-options-from-mesonoptions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8651 >
2025-05-03 10:38:25 +01:00
Olivier Crête
fcf9f9ea06
lcevcdec: Use portable printf formatting macros
...
This should fix 32bit builds
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8926 >
2025-05-02 20:12:10 +00:00
Olivier Crête
2a26b0e75c
lcevcenc: Use portable printf formatting macros
...
This should fix 32bit builds
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8926 >
2025-05-02 20:12:10 +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
Seungha Yang
5db574fc35
d3d12: Add d3d12remap element
...
Adding new element to support pixel remapping operation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8887 >
2025-05-02 22:10:58 +09:00
Seungha Yang
9b295cf7a2
d3d12converter: Add support UV remap
...
Adding OpenCV's cv::remap() like feature
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8887 >
2025-05-02 20:56:45 +09:00
Guillaume Desmottes
f600959f3b
subprojects: add librsvg.wrap
...
Allow to build librsvg as a subproject.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6917 >
2025-05-02 05:54:56 +00:00
Elliot Chen
c3d8347c81
gl/x11: check whether the display is x11 before using it
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8808 >
2025-05-02 01:39:33 +00:00
Seungha Yang
834b702e66
subprojects: pango: Fix source url
...
Regression introduced by 39a39f0077
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8921 >
2025-05-01 23:16:25 +09:00
Jakub Adam
e8e1430a5b
v4l2: pool: fix assert when mapping video frame with DMA_DRM caps
...
Make sure the pool recognizes DMA_DRM caps and parses them into
GstVideoInfo that has GstVideoFormat corresponding to "drm-format"
in the caps.
Fixes
gst_video_frame_map_id: assertion 'info->finfo->format ==
meta->format' failed
Where the left side of the assertion was GST_VIDEO_FORMAT_DMA_DRM and
the right side was some GstVideoFormat converted from DRM fourcc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8913 >
2025-05-01 11:48:26 +00:00
Zhao, Gang
4fa01d5e4c
midiparse: Quit parsing if error occurred
...
Invalid midi files will crash gstreamer or let it enter infinite
loop. Fixed it by quit parsing if error is encountered.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8396 >
2025-05-01 07:42:39 +00:00
Zhao, Gang
43e3796d7d
midiparse: Consider tempo change when calculating duration
...
Midi meta event set tempo would change tempo. Should consider tempo
change when calculating buffer PTS / duration.
Save tempo change to a list and calculate duration according to the
list.
Fixed #4158
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8396 >
2025-05-01 07:42:39 +00: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
b8f8e4391c
wraps: Move some fallback URLs from http to https
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753 >
2025-04-30 10:18:57 +00:00
Nirbheek Chauhan
b416aa9b8f
gst-python: Fix warning about not specifying gst_plugins in the
...
../meson.build:231: WARNING: DEPRECATED use of the `plugins` variable in gst-python.
../meson.build:232: WARNING: The variable should now be called `gst_plugins` and use:
../meson.build:233: WARNING: `declare_dependency( link_with: <plugin_target>,
variable: {'full_path': <plugin_target>.full_path()})` instead
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753 >
2025-04-30 10:18:57 +00:00
Nirbheek Chauhan
92e91c25b5
gst-examples: Stop using deprecated python3 module
...
Also specify a minimum meson version, and remove the license entry.
It's incorrect, since there are various licenses for the examples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753 >
2025-04-30 10:18:57 +00:00
Nirbheek Chauhan
48cbdf73a5
devtools: Fix meson warning when calling add_languages()
...
WARNING: add_languages is missing native:, assuming languages are wanted for both host and build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753 >
2025-04-30 10:18:57 +00:00
Nirbheek Chauhan
2c39756b24
gst-ptp-helper: Fix meson warning about rust_crate_type
...
WARNING: Project targets '>= 1.4' but uses feature deprecated since
'1.3.0': rust_crate_type arg in static_library. Use rust_abi or
rust.proc_macro() instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753 >
2025-04-30 10:18:57 +00:00
Nirbheek Chauhan
39a39f0077
wraps: Update fallback URLs
...
ftp.acc.umu.se no longer hosts GNOME packages, so switch to Debian for
these URLs. This required bumping some of these wraps, including
harfbuzz for the pango bump.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753 >
2025-04-30 10:18:57 +00:00
Nirbheek Chauhan
c4d2f6e87a
gst-python: Use allow_fallback instead of fallback
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753 >
2025-04-30 10:18:56 +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
Nirbheek Chauhan
10ae8136be
meson: Bump wrap files, and add non-gitlab fallback mirrors
...
When fdo infra has downtime, gstreamer checkouts become unbuildable.
Try to alleviate that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753 >
2025-04-30 10:18:56 +00:00
Philippe Normand
28d97212c5
wpe2: New WPE plugin making use of the "WPE Platform API"
...
Currently only a wpevideosrc2 element is exposed. GL and SHM buffer rendering
are supported, navigation events too (touch is un-tested). Audio pads handling
is not supported yet (that requires new WPE API).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8789 >
2025-04-29 08:10:01 +01:00
Hou Qi
7288b034ac
v4l2videoenc: report error only when buffer pool parameters are invalid
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8908 >
2025-04-28 13:20:00 +00:00
Olivier Crête
1ae7ab03d9
nice: Add function to fill in ufrag/pwd of remote candidates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8900 >
2025-04-28 11:43:40 +00:00
Olivier Crête
e2f07cf314
nice: Rename local candidate filling function
...
Rename it, and avoid using it on remote candidates, as it will put
the wrong value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8900 >
2025-04-28 11:43:40 +00:00
Olivier Crête
50c5191179
nice: Don't modify struct borrowed by signal
...
The struct is owned by libnice, you can't safely modify it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8900 >
2025-04-28 11:43:40 +00:00
Biswapriyo Nath
eeb27f1c71
gstaudioutilsprivate: Fix gcc 15 compiler error with function pointer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8904 >
2025-04-28 06:45:16 +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
Sebastian Dröge
df46cfcb28
aggregator: Don't produce buffers when live but not in PLAYING yet
...
Especially in force-live=true mode it was possible to produce buffers before the
element was set to PLAYING as long as a clock was available already.
This could easily lead to outputting buffers too early, and e.g. before the
correct base time is set and available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8897 >
2025-04-26 11:08:12 +03:00
Sebastian Dröge
b05a498187
aggregator: Check after waiting if we're still running and otherwise stop
...
Previously we might've produced a buffer needlessly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8897 >
2025-04-26 11:07:27 +03: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
Andoni Morales Alastruey
37a57b57e6
ges: fix frame position for sources with par < 1
...
In #8693 the issue was fixed for par > 1 without noticing that
it was also broken for par > 1.
Given that the natural width and height only changes when par != 1,
the logic is simplified to do:
* par_n < par_d -> the height is corrected
* par_n > par_d -> the width is corrected
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8828 >
2025-04-24 17:01:51 +00:00
Seungha Yang
d0e18d6353
h265parser: Fix num_long_term_pics bound check
...
As defined in the spec 7.4.7.1, calculates allowed maximum
value of num_long_term_pics
Fixes ZDI-CAN-26596
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4285
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8884 >
2025-04-24 14:59:15 +00:00
Seungha Yang
b33ba2f264
h265parser: Fix max_dec_pic_buffering_minus1 bound check
...
Allowed max value is MaxDpbSize - 1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8884 >
2025-04-24 14:59:15 +00:00
Daniel Morin
bdf22740fe
doc: fix formatting
...
Add spaces after sections otherwise bullet are not rendered properly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8883 >
2025-04-24 14:05:04 +00:00
Thibault Saunier
33f58f9da7
gst: debug: Add information about active tracers in dot files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8820 >
2025-04-24 13:06:55 +00:00
Jochen Henneberg
67cafe5999
va: Fix H264 profile decision logic
...
The current logic would choose 'baseline' profiles only in case that
these profiles appear in the list first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8882 >
2025-04-24 08:43:01 +02:00
Eli Mallon
068385e83f
qtdemux: unref simple caps after use
...
Otherwise we leak a GSTCaps object every time we
use qtdemux on a file with Opus audio
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8879 >
2025-04-23 12:06:48 -07:00
Stéphane Cerveau
e3ae573651
vaav1enc: fix mem leaks in _av1_decide_profile
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8845 >
2025-04-23 10:11:16 +00:00
Stéphane Cerveau
c3f4b6bdaf
vavp9enc: fix mem leaks in _vp9_decide_profile
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8845 >
2025-04-23 10:11:16 +00:00
Sebastian Dröge
df662b5904
aja: Use the correct location of the AJA NTV2 SDK in the docs
...
Also there is no longer a proprietary version of it.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4381
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8874 >
2025-04-23 09:28:16 +03:00
Santosh Mahto
7c7832fee1
python analytics: Add api iter_on_type to iterate over specific Mtd types
...
This adds new Python api `iter_on_type()` to GstAnalyticsRelationMeta
to iterate over mtd type specified by argument.
usage:
```
for i in rmeta.iter_on_type(GstAnalytics.ODMtd):
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8459 >
2025-04-22 18:54:08 -04:00
Santosh Mahto
e68eb7bb23
analytics: Add python api to get relation path
...
A new api `Mtd.relation_path()` is added to get relation chain
between two Mtd in RelationMeta.
Usage:
```
for i in mtd1.relation_path(mtd2, max_span=4, relation_type=...):
pass
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8556 >
2025-04-22 20:41:19 +00:00
Thibault Saunier
476bd6109e
macos: Move macos function documentation to the .h so the introspection has the information
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8854 >
2025-04-22 19:25:30 +00:00
Jakub Adam
c8a802772c
vapostproc: fix wrong video orientation after restarting the element
...
After READY -> NULL -> READY state change, the configured video
orientation didn't get applied on the new GstVaFilter instance.
Resettig prev_direction to default value in update_properties ensures
gst_va_filter_set_orientation() isn't inadvertently skipped.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8871 >
2025-04-22 12:44:37 +02:00
Sebastian Dröge
fe7cb2e5b1
appsrc: Only notify drop property and not in/out
...
This mirrors the behaviour of audiorate / videorate better and observing in/out
buffers can be achieved more cheaply via other means.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8866 >
2025-04-22 09:02:53 +03:00
Sebastian Dröge
9920897c4a
appsink: Only notify drop property and not in/out
...
This mirrors the behaviour of audiorate / videorate better and observing in/out
buffers can be achieved more cheaply via other means.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8866 >
2025-04-22 09:02:53 +03:00
Sebastian Dröge
953bc7cd0e
x265enc: Add bitrate tags to the output
...
Based on the same code in x264enc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8838 >
2025-04-19 15:30:51 +00:00
Hou Qi
bf87ad72e4
v4l2: drop frames for those dequeued buffer with error flag
...
Some frames are dequeued with error flag, which may cause AV unsync if decoder
does not drop them as soon as possible. So add "output-error-dequeued" and
"capture-error-dequeued" signal for v4l2 to drop such frames.
Fixes #3031
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5479 >
2025-04-18 14:14:54 +00:00
jan vermaete
3f0808a910
motioncells: fix typo in header comment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8867 >
2025-04-18 10:52:23 +01:00
Jordan Yelloz
c3f4bb532c
gstsourcebuffer: Reverted ownership change for append method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8857 >
2025-04-18 06:16:00 +00:00
Seungha Yang
420b32b953
wasapi2: Log buffer QPC position and status flags
...
Log all infos of IAudioCaptureClient::GetBuffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8859 >
2025-04-17 22:44:19 +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
Thibault Saunier
d1f43f781a
tracerutils: Do not warn on empty string as tracername
...
It doesn't matter if there is an "empty tracer" specified.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8860 >
2025-04-17 18:40:05 +00:00
Nicolas Dufresne
8c7ad20e4e
doc: Update cache for plugins automatically picks NV16_10LE40
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5612 >
2025-04-17 15:36:06 +00:00
Nicolas Dufresne
cb67f760f0
v4l2codecs: Add Rockchip 8bit/10bit 422 formats
...
This enable NV16 and NV16_10LE40 formats. These formats are
produced by notably rkvdec driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5612 >
2025-04-17 15:36:06 +00:00
Nicolas Dufresne
239c0eb5f8
video: Add 10bit 422 NV16_10LE40 format
...
Similar to NV12_10LE40, this is a 422 variant. This format is also named
NV20 (20bit per pixels) in other stack and is produced by rkvdec
decoder.
Co-authored-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5612 >
2025-04-17 15:36:06 +00:00
Stefan Andersson
1c8b01ccbc
matroska-demux: Prevent corrupt cluster duplication
...
Make sure to always update next_cluster_offset, if next cluster offset
isn't known set it to zero. If next_cluster_offfset isn't updated it will
be the same as current and if the cluster parsing fails the same cluster
will be parsed again leading to duplication of the data in the cluster.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8855 >
2025-04-16 20:37:08 +02:00
Jan Alexander Steffens (heftig)
24bcff5650
mpegtsmux: Read prog-map[PMT_ORDER_<PID>] for PMT order key
...
Right now the prog-map's meaning of `PMT_%d` is overloaded:
- PMT_<PGM> is used to look up the PID for the PMT.
- PMT_<PID> is used to look up ordering keys for streams in the PMT.
This is not a problem in practice because program numbers and PES PIDs
shouldn't overlap. Still, it's quite the wart in the API.
Provide "PMT_ORDER_%d" as an unambiguous way of specifying ordering
keys.
See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510#note_2790022
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8584 >
2025-04-16 13:39:15 +00:00
Seungha Yang
ece3a0c976
d3d12converter: Fix cropping when automatic mipmap is enabled
...
Update vertex buffer and viewport of extra shader pipeline as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8851 >
2025-04-16 21:20:02 +09:00
Shengqi Yu (喻盛琪)
b144375974
pluginloader: fix pending_plugins Glist use-after-free issue
...
When plugin_loader_load_and_sync returns false in plugin_loader_replay_pending,
the cur Glist l->pending_plugins will be added to the blacklist.
However, the l->pending_plugins might have already been loaded and freed in handle_rx_packet,
so causing a use-after-free issue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8747 >
2025-04-16 05:06:40 +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
93af941ce7
analytics: add more convenient API to retrieve tensor
...
`gst_tensor_meta_get_by_id (meta,id)' is more convenient then
retrieving the tensor index using `gst_tensor_meta_get_index_from_id()` followed
by `gst_tensor_meta_get ()`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8848 >
2025-04-15 16:17:47 -04:00
Sebastian Dröge
37629385d0
videoencoder: Use the correct segment and buffer timestamp in the chain function
...
The only thing that can be used in the chain function is the input segment. The
output segment might not be available at all yet or out of sync with the current
input segment.
Also because of that, the unadjusted timestamp has to be used for the
calculations as the adjustment is only part of the output segment.
This fixes the deadline calculation and the handling of force-keyunit events for
encoders using frame reordering (i.e. setting a minimum PTS).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8842 >
2025-04-15 14:26:08 +03:00
Sebastian Dröge
9adf26cfd1
base: Update plugins docs cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8824 >
2025-04-15 09:28:27 +03:00
Sebastian Dröge
20739fa673
appsrc: Allow changin leaky-type in PLAYING state
...
No reason not to.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8824 >
2025-04-15 01:18:33 +00:00
Sebastian Dröge
295c409115
appsrc: Add in/out/dropped and silent properties
...
This allows tracking how many buffers the appsrc has processed so far, similar
to the same properties on videorate / audiorate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8824 >
2025-04-15 01:18:33 +00:00
Sebastian Dröge
68cf7a0df1
appsink: Add in/out/dropped and silent properties
...
This allows tracking how many buffers the appsink has processed so far, similar
to the same properties on videorate / audiorate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8824 >
2025-04-15 01:18:32 +00:00
Sebastian Dröge
bdf39c3270
appsrc: Correctly protect leaky-type property by mutex and signal on change
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8824 >
2025-04-15 01:18:32 +00:00
Sebastian Dröge
3450050b1a
appsink: Add new leaky-type property
...
For symmetry with appsrc. As part of this, also deprecated the drop property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8824 >
2025-04-15 01:18:32 +00:00
Sebastian Dröge
ed75968ff5
appsink: Add current-level-buffers, bytes and time properties
...
appsrc (and queue and others) already have the same properties so let's
add them here for consistency too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8824 >
2025-04-15 01:18:32 +00:00
Daniel Morin
55e9e3cb13
tensordecoders: updating element classification
...
- `TensorDecoder` is clashing with media decoder which cause decodebin use it.
Replacing with `Tensordecoder` to avoid clash
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8819 >
2025-04-15 00:30:06 +00: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
Daniel Morin
e887b2e20e
analytics: Move IoU calculation to gstanalytics lib
...
Calculating intersection-of-union (IoU) is a very common operation used by
tensor-decoder handling tensors from vision models. Having this in a library
will improve maintainability and ease of writing tensor-decoder.
- Post-fix _uint: We might eventually want to handle different datatype that we
woule post-fix with _type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8805 >
2025-04-14 23:15:11 +00:00
Santosh Mahto
4c4e80d286
gstanalytics: Add api iter_direct_related python to GstAnalyticsMeta
...
The API `iter_direct_related` allows to iterate over directly related
Mtd objects.
Usage:
```
for i in mtd.iter_direct_related(GstAnalytics.RELATE_TO,
GstAnalytics.ODMtd)
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8461 >
2025-04-14 19:11:29 +00:00
Gustav Fahlen
e649072584
gstrtspsrc: Do not emit signal 'no-more-pads' too early
...
Due to race condition it was previously possible that
gst_element_add_pad was not completed for each RTSP stream before
signal 'no-more-pads' was emitted.
Race condition explained:
Lets say two RTSP streams are created: Video and Audio.
1. Callback new_manager_pad is called for the Video stream =>
stream->added=TRUE.
all_added=FALSE because both streams are not yet added.
Call gst_element_add_pad and emit signal 'pad-added' for Video stream.
2. Callback new_manager_pad is called for Audio stream =>
stream->added=TRUE.
all_added=TRUE because both streams are added.
Call gst_element_add_pad and emit signal 'pad-added' for Audio stream.
3. Lets say gst_element_add_pad for the audio stream completes before
the video stream. Since the audio stream already has all_added==TRUE
this will result in the signal 'no-more-pads' to be emitted before
gst_element_add_pad for the video stream is completed.
Solution is to move the logic that sets added=True and checks if all
streams are added to after gst_element_add_pad. This will make sure
signal 'no-more-pads' is not emitted until all code in
gst_element_add_pad is completed for all streams.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8832 >
2025-04-14 12:35:06 +00:00
Philippe Normand
c4bfa73391
oggdemux: Don't push new packets if there is a pending seek
...
There was a race condition where the demuxer would seek back to beginning after
determining the duration and while that seek was in progress one pad would
attempt to push a new buffer downstream, leading to a critical warning in
gst_pad_push().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8785 >
2025-04-14 10:15:05 +01:00
Andrew Yooeun Chun
1d014e6146
v4l2codecs: fix typos in the documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8829 >
2025-04-12 15:02:38 +09:00
Stéphane Cerveau
a2793a4663
vkh265dec: add main-10 support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8282 >
2025-04-10 19:58:47 +00:00
Stéphane Cerveau
ba44f0c9e0
vkformat: add NV12 10 bits support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8282 >
2025-04-10 19:58:47 +00:00
Thibault Saunier
f110f9c290
devtools: dots-viewer: Bundle js dependncies using webpack
...
And avoid relying on cdn's and require access to the network to use `dots-viewer`
And git ignore `node_modules`
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4334
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8754 >
2025-04-10 18:48:49 +00:00
Carlos Bentzen
ffaa4bbb38
h266decoder: fix leak parsing SEI messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8814 >
2025-04-10 14:06:16 +00:00
Jan Schmidt
7212848e41
rtspsrc: Don't error out on not-linked too early
...
Wait until all pads have been exposed before accepting a not-linked,
as pads are added one-by-one and downstream might not be interested
in the first ones to appear.
Follow up to
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7946
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8798 >
2025-04-10 11:50:33 +00:00
Hou Qi
bf24ca6d29
gldownload: unref glcontext after usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8807 >
2025-04-10 09:27:04 +00:00
Carlos Rafael Giani
9ffab2199d
audiobasesink: Fix custom slaving driftsamples calculation
...
driftsamples currently uses the requested skew directly, even if it
exceeds cexternal.
Use the approach that skew_slaving uses to fix this. As a side benefit,
this makes the custom_slaving and skew_slaving code easier to compare.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8605 >
2025-04-10 06:41:13 +00:00
Carlos Rafael Giani
a59810ef97
examples: Add custom audio clock slaving callback example
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8605 >
2025-04-10 06:41:13 +00:00
Thibault Saunier
c48ba1ae10
discoverer: Enhance debug logging
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8803 >
2025-04-09 17:19:01 +00:00
Thibault Saunier
4066b145b6
ges: Enhance debug logging
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8803 >
2025-04-09 17:19:01 +00:00
Detlev Casanova
28fdf598e4
v4l2codecs: Unref the frame before leaving on error
...
In h264, h265 and mpeg2, make sure that dec_submit_bitstream() doesn't leak
a frame when dec_ensure_output_buffer() fails.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8794 >
2025-04-09 15:43:03 +00:00
Detlev Casanova
880053c52c
v4l2codecs: av1,vp9: Use temporary variable for buffer
...
This makes the end_picture() function handle the frame in the same way
as in vp8, which also fixes a frame leak when
gst_buffer_pool_acquire_buffer() fails.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8794 >
2025-04-09 15:43:03 +00:00
Xavier Claessens
f6115efe8d
Revert "va: h266 requires libva 2.22.0"
...
This reverts commit 8c017c79c5
.
1.22 was the correct pkg-config version. It's only the subproject
version that was wrong. Since we bumped libva.wrap to 2.22 version, h266
is now always available when using the subproject.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8800 >
2025-04-09 09:01:22 -04:00
Mathieu Duponchelle
d1b4104cbc
aggregator: expose current-level-* properties on sink pads
...
As aggregator internally queues data (up to latency), those properties
are helpful to monitor queue levels in the complete pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8731 >
2025-04-08 17:26:34 +00:00
Víctor Manuel Jáquez Leal
4fc8773371
y4menc: fix Y41B format
...
This a regression of commit fb0bea8f
where output info variable was swapped with
input info variable by mistake.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8786 >
2025-04-08 13:10:19 +00:00
Xavier Claessens
a591dec87c
libva: Update wrap to 2.22.0
...
It is required for h266 support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8788 >
2025-04-08 11:45:11 +00:00
Xavier Claessens
8c017c79c5
va: h266 requires libva 2.22.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8788 >
2025-04-08 11:45:11 +00:00
Philippe Normand
1a55ae2c51
Revert "webrtc: stats: Increase spec compliance for ICE candidate stats"
...
This reverts commit 4718fc9be7
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8787 >
2025-04-08 09:35:49 +01:00
Philippe Normand
70af47ee17
Revert "webrtc: Add missing Since markers to new ICE API"
...
This reverts commit 601c772447
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8787 >
2025-04-08 09:35:49 +01:00
Guillaume Desmottes
9b19c10f39
alphacombine: unblock when alpha sink is eos
...
If the alpha sink receives EOS while the other thread was waiting for a
alpha buffer it was stuck waiting forever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8775 >
2025-04-07 23:45:33 +00:00
Guillaume Desmottes
d2086675a4
alphadecodebin: use a multiqueue instead of a couple of queues
...
Fix gapless playback as queues are no longer stopped after the first
eos.
Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Fix #4165
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8775 >
2025-04-07 23:45:33 +00:00
Jakub Adam
75517d0faf
unixfdsrc: fix allocating FD memory with nonzero offsets
...
The element should allocate GstFdMemory large enough to fit incoming
memory's size plus its potential offset.
Fixes "gst_memory_resize: assertion 'size + mem->offset + offset <=
mem->maxsize' failed".
Fixes an issue reproducible on Raspberry Pi 4 that results in a garbled
image on the receiver's end:
gst-launch-1.0 libcamerasrc ! unixfdsink socket-path=/tmp/socket
gst-launch-1.0 unixfdsrc socket-path=/tmp/socket ! autovideosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8025 >
2025-04-07 14:51:47 +00:00
Jakub Adam
98bcd041d1
fdmemory: add gst_fd_allocator_alloc_full()
...
Allows allocating FD memory with offset != 0 and size != maxsize.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8025 >
2025-04-07 14:51:47 +00:00
Matthew Waters
601c772447
webrtc: Add missing Since markers to new ICE API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00: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
Philippe Normand
b088d53970
webrtc: nice: Add niceutils
...
The gst_webrtc_nice_get_candidate_server_url() function is going to be used for
stats generation purposes and also from the upcoming get_selected_candidate_pair
implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Philippe Normand
19dea1507e
webrtc: nice: Make use of nice_candidate_type_to_string
...
This API was added in libnice 0.1.19 and we currently require 0.1.20.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Philippe Normand
aa15eb30ff
webrtc: nice: Remove unused libnice utilities
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8698 >
2025-04-07 12:07:16 +00:00
Razvan Grigore
0017384ae2
webrtcbin: add missing warning for caps missmatch
...
This helps debug cases when the remote is offerer and m-line does not match with already existing transceivers.
In this case, it will create new ones with sendrecv direction without any warning.
Similar with code from _create_answer_task
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8735 >
2025-04-07 01:26:25 +00:00
Seungha Yang
740b7564ee
h265parser: Make gst_h265_parser_link_slice_hdr public
...
... and updating h265decoder/h265ccinserter to match
the changed gst_h265_parser_link_slice_hdr method
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8679 >
2025-04-05 09:48:41 +00:00
Seungha Yang
deee13a6c3
h264parser: Store associated parameter set id
...
Make h264parser and h265parser consistent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8679 >
2025-04-05 09:48:41 +00:00
Seungha Yang
1bd5afa460
h265parser: Store PPS id in slice header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8679 >
2025-04-05 09:48:41 +00:00
Ognyan Tonchev
6db576f033
gstrtpsession: Do not push events while holding SESSION_LOCK
...
Doing so can trigger deadlocks
Fixes : #4328
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8695 >
2025-04-05 08:43:06 +00:00
Ognyan Tonchev
ebb1d1a4ae
gstrtpsession: protect recv_rtcp_segment_seqnum with a lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8695 >
2025-04-05 08:43:05 +00:00
Ognyan Tonchev
961fc87168
gstrtpsession: use correct seqnum for the STREAM_START ans SEGMENT events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8695 >
2025-04-05 08:43:05 +00:00
dukesook
daa1ee84b9
qtdemux: Extend Uncompressed Lookup Table
...
- LUT now supports various subsampling, interleaves, and bit depths.
- Replaces stride with GstVideoInfo pre_info to represent original data.
- Simplifies gst_row_align_buffer() with gst_video_frame_copy().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8598 >
2025-04-05 07:59:32 +00:00