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
L. E. Segovia
0d7ea661cf
cmake: Fix using pkgconf for Windows cross builds
...
pkgconf has its own default logic on Windows for setting up a prefix,
which does not match the default behaviour of pkg-config (blindly
respecting modules' ${prefix} variable).
See
dcf529b83d
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8768 >
2025-04-05 01:15:06 +00:00
L. E. Segovia
8453993afc
cmake: Fix PKG_CONFIG_PATH formatting for Windows cross-builds
...
The PKG_CONFIG_PATH use of semicolons must match the host system, not
the build system. This fixes calling pkg-config for Windows to Android
cross builds.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8768 >
2025-04-05 01:15:06 +00:00
Daniel Morin
8af086038a
analyticsoverlay: add filled-box mode
...
- Add filled-box-mode property, when set region where detection is happening is
filled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8592 >
2025-04-04 22:40:58 +00:00
Olivier Crête
bf8af7ac20
bad: Update va docs, adding new elements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 14:06:35 -04:00
Olivier Crête
00321a6daf
docs: Add more va properties to non-versionned enums
...
These are auto-generated and creating doc for them is just too painful.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 14:06:35 -04:00
Olivier Crête
e3c3fd10cd
va: Add since markers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 14:06:35 -04:00
Olivier Crête
7ed5c10751
va: Remove GstVaFeature marking as a plugin API
...
It's part of the libgstva library and it's documented there, no need
to duplicate it as it confuses hotdoc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 14:06:35 -04:00
Olivier Crête
f6b3538027
va: Add doc section for vah26xlpenc and codecalpha element
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 14:06:35 -04:00
Olivier Crête
afaf1723fe
bad: Update wpesrc docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 14:06:35 -04:00
Olivier Crête
311343ae4b
wpevideosrc: Fix typo in doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 14:06:34 -04:00
Olivier Crête
68489f2362
bad: Update qsv docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 14:06:34 -04:00
Olivier Crête
50cebd3ba8
qsv: Add since marker to device-path property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 14:06:30 -04:00
Olivier Crête
ecf9a035eb
bad: Add onnxinference to the docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-04 13:05:51 -04:00
Olivier Crête
a35d9a2246
docs: Add machine-learning-analytics to sitemap
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8774 >
2025-04-03 17:53:34 -04:00
Nirbheek Chauhan
9194e259d9
docs: Fix GstWebRTCICE* class documentation
...
IceStream is not an actual object, it's GstWebRTCICEStream
Some `Returns:` annotations were improperly formatted and not taking
effect.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8755 >
2025-04-03 13:05:57 +00:00
Matthew Waters
0b611ce703
glcolorconvert: fix YUVA<->RGBA conversions
...
Alpha should not impact the YUV/RGB conversion and should simply be copied
over.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4339
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8765 >
2025-04-03 07:08:51 +00:00
Seungha Yang
7d51dc615d
pluginloader-win32: Fix helper executable path under devenv
...
lpApplicationName argument of CreateProcessW should be complete path
of executable.
Fixing regression introduced by
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8614
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8746 >
2025-04-01 19:04:01 +00:00
Michael Grzeschik
3b345568bc
uvcsink: Respond to control requests with proper error handling
...
The complete handling on the control interface is currently dead.
We return with EOPNOTSUPP for the caller to know that a response
to such requests is not valid. The host however may ask
control interface why these control requests were not available.
For this the UVC_VC_REQUEST_ERROR_CODE_CONTROL is used. As an overall
exception for the control interface we just always return 0x06 as
an response which is representing "not implemented".
This patch is a necessary feature to properly pass the UVC Functionality
Test of the USB3CV Compliance Software.
Fixes: 69c1746139
('uvcgadget: Properly implement GET_INFO control responses')
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7524 >
2025-04-01 15:57:20 +00:00
Piotr Brzeziński
50d2d1446f
avfvideosrc: Guess reasonable framerate values for some 3rd party devices
...
For some third-party devices macOS sometimes reports silly framerates,
like 750003/6250 instead of 120/1. To avoid users having to exactly
pecify those values, we instead report the closest reasonable value in
caps. If it ends up being chosen, the additional logic in
setDeviceCaps() will reverse that process and pass the actual supported
value back to AVF, as most often the rounding causes us to fall just
outside the accepted threshold.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8745 >
2025-04-01 14:44:50 +00:00
Guillaume Desmottes
4e65d16bfc
gstvalue: add hashing
...
Will be used to implement the Hash trait in gstreamer-rs, see
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1639
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8518 >
2025-04-01 14:38:01 +02:00
Guillaume Desmottes
bde69a4fab
taglist: add _gst_tag_list_structure() as internal API
...
Will be needed to implement hash on GValue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8518 >
2025-04-01 14:37:26 +02:00
Guillaume Desmottes
76e9e4ceb6
gstvalue: rename internal table to gst_value_hash_table
...
Will use the gst_value_hash symbol to implement a new method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8518 >
2025-04-01 14:37:26 +02:00
Jochen Henneberg
96970fe33b
camerabin: Ensure that test record pipeline does not see caps change
...
Depending on the system load the test 'video_capture_with_tags' may
fail or not. Reason is that 'videotestsrc' may emit a buffer before
the final caps negotiation on the recording pipeline has happened
after dynamic linking.
In that case there would be a caps change and because videorate does
no longer drop old buffers and caps on change but pushes duplicates if
required qtmux will notice a caps change and fail to link.
The problem is a synchronization problem in 'camerabin' which became
obvious with the changed behaviour of 'videorate'.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8579 >
2025-04-01 10:15:34 +00:00
Jochen Henneberg
6f623af4d7
videorate: Revive 'new-pref' property
...
The 'new-pref' property sets the preference to use the new (next)
instead of the old (previous) buffer. The default is set to 0.5 to get
a similar behaviour as before the change.
Value 0.0 makes sure that only frames are shown where it's known that
the frame content is visible at that time, always show the old frame
until the new frame timestamp is reached.
Then, if the next buffer replaces the previous buffer the new buffer
is pushed as often as possible until PTS is reached. Before the new
buffer was only pushed once the new next buffer arrived.
Use GstClockTimeDiff because it's known that the current buffer time
is inside the time interval of previous buffer and next buffer the
calculation can be done with building absolute values. Special macros
are not needed here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8579 >
2025-04-01 10:15:34 +00:00
Seungha Yang
3a4990d965
h264ccextractor,h265ccextractor: Handle gap with unknown pts
...
Fixing critical warngins
gst_event_new_gap: assertion 'GST_CLOCK_TIME_IS_VALID (timestamp)' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8741 >
2025-04-01 08:16:13 +00:00
Guillaume Desmottes
e8038d2994
codecalpha: name both queues
...
Make it easier to debug from logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8744 >
2025-03-31 15:15:28 +00:00
Doug Nazar
6e5937f9b5
vulkan/wayland: Init debug category before usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8738 >
2025-03-31 13:20:31 +00:00
Alexander Slobodeniuk
a776793969
audioaggregator: fix chaining up to parent class (again)
...
An error was added in !8416 , it was calling to the
wrong parent class
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8740 >
2025-03-31 11:29:03 +00:00
Philippe Normand
18f6fec49f
webrtcbin: Make mid optional in offers and answers
...
The mid attribute is not strictly required. Two new tests cover this change,
they remove the mid and group attributes from the SDP offers and answers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8729 >
2025-03-31 10:51:08 +01:00
Artem Martus
36c983ccd5
webrtcbin: ensure RTX entry for all formats
...
Properly implement RFC 4588 by ensuring each media format
has its own RTX payload type with unique 'apt' parameter,
rather than only mapping the first format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8663 >
2025-03-31 06:40:35 +00:00
Sebastian Dröge
3ac5bb2d36
va: Skip codecs that report maximum width or height lower than minimum
...
This happens on F42 with the JPEG decoders for some reason and trying to
actually use them with any resolution simply gives a "resolution not supported"
error.
A minimum of 64 is correctly reported though and trying to create caps with an
int range of [64, 0] gives critical warnings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8736 >
2025-03-30 11:00:08 +00:00
Doug Nazar
6e9667b65c
matroskademux: Add support for relative position cues
...
Cueing data can contain the block number within a cluster and/or
a relative offset into the cluster.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5535 >
2025-03-28 17:47:27 -04:00
Doug Nazar
3578b23ba2
matroskamux: Add support for chroma siting
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5534 >
2025-03-28 11:44:13 -04:00
Doug Nazar
123a7a515f
matroskamux: Add support for interlaced field order
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5534 >
2025-03-28 11:44:13 -04:00
Doug Nazar
671dd6a61e
matroskamux: Always use v4 for DocType version
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5534 >
2025-03-28 11:43:50 -04:00
Doug Nazar
8e6ec1fc34
matroskademux: Handle chroma site color information
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5534 >
2025-03-28 11:22:39 -04:00
Víctor Manuel Jáquez Leal
03c129d4d3
tests: y4menc: padded frame test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:29:40 +01:00
Víctor Manuel Jáquez Leal
d59ce45789
y4menc: use start() vmethod rather than change_state()
...
Also it wil call negotiate() vmethod at set_format()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:29:40 +01:00
Víctor Manuel Jáquez Leal
0f0a4d6ab3
y4menc: enable y4menc debugging category
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:29:40 +01:00
Víctor Manuel Jáquez Leal
2fb3dddd51
y4menc: handle padded frames
...
Since y4menc inherits from GstVideoEncoder, it negotiates upstream buffer pools
with GstVideoMeta support. Thus, certain decoders might use that meta for
frames with padded memory. Nonetheless y4menc assumes only linear memory video
frames, without padding.
This patch will copy frames using gst_video_frame_copy() if buffer has
GstVideoMeta or its video info is padded with its custom video info. Otherwise,
it ill call the agnostic gst_buffer_copy() for a shallow copy.
Supersedes: !5042
Fixes : #2765
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:28:03 +01:00
Víctor Manuel Jáquez Leal
fb0bea8fef
y4menc: create an output video info without padding
...
The unpadded strides and offsets calculations for the video info are inspired
from y4mdec.
A boolean flags is toggled if the video info is padded for the given resolution.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8654 >
2025-03-27 14:05:43 +01:00
Arun Raghavan
c5733c84b1
qt6: Add a missing newline in unsupported platform message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8702 >
2025-03-27 10:02:47 +00:00
Jan Schmidt
3ed710932a
gst-docs: Fix URL for personal_access_tokens page
...
The gitlab url seems to have moved since the docs were written
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8681 >
2025-03-27 09:44:55 +00:00
Doug Nazar
86161c084e
tracer: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
7998076e76
rtspclientsink: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
a33e1c7563
rtspsrc: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
1d2bd1df6c
ximagesrc: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
e3818d0e1b
qtmoovrecover: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
b808153d15
jack: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
12932ecc90
uridecodebin3: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
5a19c4a4ae
theoraenc: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
3a20c0bca3
gl: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
a7dce91f0d
alsamidisrc: free ports during finalize()
...
If the element is never start/stopped the ports variable will leak.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
ecccd6a8cf
a2dpsink: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
108cd906fa
aja: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
2e96ed13de
rfbsrc: Free various props before being set & during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
c2cb94a421
frei0r: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
afd979c9e4
faceoverlay: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
8f99e22822
waylandsink: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
765a6a963f
qroverlay: Free various props before set & during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
e7d8bf8563
openalsrc: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
efb08c2ada
lcevcencoder: Free various props before during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
6279c4bab7
dash: Free various props before set & during cleanup
...
In addition several members were being freed via xmlFree() even though
being created via g_value_dup_string(). Switch to g_free().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
2f11f7e434
curlhttpsrc: Free various props before set & during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
5f90a4ae67
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_string() as they can only be called once during construction.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Víctor Manuel Jáquez Leal
ca04a4cd44
gl: eglimage: warn the reason of export failure
...
So people debugging could know what's happening at debugging.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8672 >
2025-03-27 08:10:53 +00:00
Víctor Manuel Jáquez Leal
146b49fd9e
gl: eglExportDMABUFImageQueryMESA expects modifiers to be an array
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8672 >
2025-03-27 08:10:53 +00:00
Guillaume Desmottes
1ea4632668
tracers: dots: fix debug log
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8699 >
2025-03-27 04:09:51 +00:00
Sebastian Dröge
fbdd1aa800
dashsink: Make sure to use a non-NULL pad name when requesting a pad from splitmuxsink
...
If the caller passed in "audio_%u" instead of a concrete pad name into
gst_element_request_pad_simple() then the pad name will be NULL. In that case
use the pad template name for requesting the pad from splitmuxsink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8697 >
2025-03-27 02:36:30 +00:00
Andoni Morales Alastruey
05347a3c03
ges: fix frame position for sources with par > 1
...
A source with 1920x1080 and par 16:15 has a natural size of
2048x1080. The current code is incorrectly setting the natural
width as height resulting in 1920x2048.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8693 >
2025-03-27 01:46:23 +00:00
Philippe Normand
5bd36c694c
device-monitor: Deinitialize GStreamer before exiting
...
Nice to have when using the leak tracer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8670 >
2025-03-27 00:40:56 +00:00
Jan Tojnar
13c0f44dd5
validate: Add gst-video to Requires in pkg-config
...
`gst/validate/validate.h` includes `gst/validate/gst-validate-media-info.h`,
which in turn includes `gst/pbutils/pbutils.h` but `gstreamer-pbutils-1.0`
was only listed in `Requires.private` field of `gstreamer-validate-1.0.pc`.
This would cause projects linking against `gstreamer-validate-1.0.pc` to fail to find
the headers when using alternative interpretation of pkg-config specification
that only considers private dependencies for include path during static builds,
such as the case e.g. on Nix.
https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8661 >
2025-03-26 23:40:04 +00:00
Jan Tojnar
bc93bbf5c8
gst-analytics: Add gst-video to Requires in pkg-config
...
`gst/analytics/analytics.h` includes `gst/analytics/gstanalyticssegmentationmtd.h`,
which in turn `gst/video/video-info.h` but `gst-video-1.0` was only listed
in `Requires.private` field of `gst-analytics-1.0.pc`.
This would cause projects linking against `gst-analytics-1.0.pc` to fail to find
the headers when using alternative interpretation of pkg-config specification
that only considers private dependencies for include path during static builds,
such as the case e.g. on Nix.
https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8661 >
2025-03-26 23:40:04 +00:00
Thibault Saunier
801620242e
dotsviewer: Fix search
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8696 >
2025-03-26 22:46:56 +00:00
Thibault Saunier
fdcd0ddca0
devtools: dots-viewer: Add a button to download the SVG file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8696 >
2025-03-26 22:46:56 +00:00
Jordan Yelloz
a1876eee74
mse: Updated documentation cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
42f927f980
gstmsesrc: Added locking, improved seek implementation
...
The position is no longer duplicated across each pad and pad's segment. The
position is now only updated if it changes in the direction of playback so that
quickly repeated forward seeks do not cause the stream to seek from 0.
Reverse playback is expressly disallowed and an unnecessary extra flush of track
when seeking was removed.
A background task was added to periodically check on the current position and
the media source's buffering levels to keep the ready state up-to-date. The
source buffer no longer needs to trigger this update, it will happen whenever
the element state is READY or higher.
Finally, added proper error reporting when failing to push a buffer and improved
debug logging.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
96ec1ba613
gstappendpipeline: Added name to background task
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
b1c279f0d8
gstsourcebufferlist: Added locking
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
8041073465
gstsourcebuffer: Added locking, re-worked track feed task
...
Since the sample map/track buffer now iterates samples in batches corresponding
to each coded frame group, the logic to feed the tracks is simpler. For media
without delta frames, it's a special case where the coded frame groups are all
size 1.
Now, all it does is skip data until the keyframe group containing the seek point
is found, then feed the track queue with the current sample and all future
samples until EOS or cancellation.
Resync of the iterator when the underlying track is modified is not necessary
because the outer loop attempts to resume feeding track data from where it was
interrupted in case of modification.
Also, the track feed task struct now holds a weak ref to its parent source
buffer to allow the task to cancel itself in any situation where the source
buffer is destroyed before the task is shut down.
Media parsing activity in the append pipeline no longer triggers ready state
recalculation on the msesrc since the msesrc now has a background task that
updates the ready state periodically when it's active which is more efficient in
cases where there is a high volume of samples being processed by the media
parser.
Finally, updated to adapt to track buffer API changes. Some functions previously
passed in a lower bound for sample timestamps. Now the source buffer is
responsible for clipping samples within a desired range of time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
0d0228ca87
gstsourcebuffer: Added name to track feed task
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
7b3ac877f9
gstsourcebuffer: Moved misplaced documentation comment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
f5634c2aac
gstmediasourcetrackbuffer: Improved buffered ranges calculation
...
Now when the buffered list is requested, the tolerance for merging two ranges
when there's a small gap between them is MAX(0.1sec, max frame duration * 2).
Previously it was hardcoded to 0.01sec. The specification suggests that it
could be something like the max frame duration * 2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
3b32f53d7b
gstmediasourcetrackbuffer: Added method to wait until any new data
...
The source buffer currently has a thread for each track that feeds the track
with all data in the track buffer until EOS is reached.
Each pass over the track buffer currently waits for the EOS to appear when it's
done iterating the track buffer which is too restrictive.
When the source buffer reaches the end of the track buffer, it should wait for
any new data to be processed -- not just an EOS -- then check for cancellation
if the deadline expires without new data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
eec05ffeac
gstmediasourcetrackbuffer: Removed start time filtering from sample iterator
...
This adapts to the changes to the sample map since gst_iterator_filter() is a
simpler way for callers to clip the returned samples to a desired time range.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:13 +00:00
Jordan Yelloz
c76fcabb09
gstmediasourcetrackbuffer: Removed unused code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:12 +00:00
Jordan Yelloz
3c6c0bc676
gstmediasourcetrack: Removed unused try_push() method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:12 +00:00
Jordan Yelloz
537065b29e
gstmediasourcetrack: Ref the sample inside push() method
...
This simplifies cleanup for the caller since the push method already cleans up
the sample when it is consumed by playback or if it fails to be added to the
queue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:12 +00:00
Jordan Yelloz
4f5cda94f7
gstmediasourcesamplemap: Re-worked sample iteration and removal
...
Both operations now work on coded frame groups (GOPs). This simplifies queueing
of video data. There is rarely any point of dealing with individual video frames
when iterating in DTS order, it's most meaningful to decode or delete whole
coded frame groups at a time, so the sample map will now do that when iterating
by DTS. When iterating in PTS order, the existing behavior is preserved since
that is used for informational purposes, not media processing.
A new private boxed type for coded frame groups was added to provide each data
item to the source buffer. Another possible solution would be creation of a new
GstSample representing the whole group by merging all the samples in a group
into a single sample containing a GstBufferList.
Also, start time filtering was removed from the API since gst_iterator_filter()
can be used by callers to achieve the same result.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:12 +00:00
Jordan Yelloz
5aa3f7c16e
gstmediasource: Added locking
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:12 +00:00
Jordan Yelloz
f70cf55388
gstmediasource: Added caller-allocates annotation to get_live_seekable_range()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:12 +00:00
Jordan Yelloz
4e958fa45a
gstmselogging: Added helper function to get nicknames of enum values
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512 >
2025-03-26 21:44:12 +00:00
Seungha Yang
2cf19176dc
codecccinserter: Fix event double free
...
Need to steal GstVideoCodecFrame.events before unref
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8673 >
2025-03-26 19:05:21 +00:00
Seungha Yang
9254c8bd41
h265ccinserter: Fix broken SPS/PPS link
...
Apply the same h265decoder change to h265ccinserter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8673 >
2025-03-26 19:05:21 +00:00
Seungha Yang
a014556713
h265decoder: Fix broken SPS/PPS link
...
Because of 2 pass nalu handling in decoder, link between
slice header and SPS/PPS can be broken at the second pass
if SPS/PPS got updated after slice header in the same AU
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4323
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8673 >
2025-03-26 19:05:21 +00:00
Seungha Yang
4898020c28
h265parser: Add private method to update slice header
...
Adding a method to allow linking already parsed slice header
with parser's own sps/pps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8673 >
2025-03-26 19:05:21 +00:00
Seungha Yang
c1835644f5
h265parser: Allow updating SPS/PPS without parent parameter set
...
h265parser defers linking parameter sets until slice header is parsed.
Thus valid SPS/PPS parsed by h265parser can have no linked
parent parameter set. Apply this behavior to
gst_h265_parser_update_{sps,pps} too
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8673 >
2025-03-26 19:05:21 +00:00
Stéphane Cerveau
9183df0226
v4l2object: fix memory leak
...
The tmp caps should be unreffed as the template structure.
The leaks can be reproduced with
gst-launch-1.0 v4l2src num-buffers=1 ! autovideosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8669 >
2025-03-26 15:43:56 +00:00
Jakub Adam
5aaa4c2c5a
qml6glsrc: update buffer pool on renegotiation
...
When dynamic caps change in the pipeline leads to a new buffer pool
getting negotiated, the change is not propagated to Qt6GLWindow, which
keeps using the old, now defunct, pool.
Unset current pool on Qt6GLWindow in decide_allocation(). This will
trigger a switch to the new pool inside create().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8676 >
2025-03-26 12:40:42 +00:00
Sebastian Dröge
c2be97d591
videotimecode: Add missing 119.88fps support to some functions
...
And while at it generalize the drop frame handling to all integer multiples
of 30000/1001 fps.
Also adjust tests accordingly and add some other missing test.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8649 >
2025-03-26 09:32:36 +02:00