122467 Commits

Author SHA1 Message Date
Matthew Waters
01d41b5d59 decklinkvideosink: show preroll frame correctly
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4254

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9199>
2025-06-17 10:50:54 +00:00
Robert Mader
aee3fae721 wayland: Add support for local protocols
This proved to be helpful for previous protocol experiments, so let's
upstream it. Inspired by the corresponding code in Weston.

Protocols need to be placed in a `protocols` subdirectory and can be
declared in the following way in `meson.build`:
```
['color-management-v1', 'internal' ],
```

Note the `v1` being part of the name.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9186>
2025-06-17 09:59:10 +00:00
César Alejandro Torrealba Vázquez
49e53cb09e qtmux: Update chunk offsets when converting stco to co64 with faststart
When creating a faststart file, qtmux has to take into account that
any 32 bit stco atom may need to be converted into its 64 bit version
due to the offset that is added before the mdat data by the moov atom,
the extra atoms and the mdat header. If a stco atom is converted into
co64, the chunk offset of all stco and co64 atoms has to be increased,
which in turn may also cause that other stco atoms need to be converted
into co64, modifying the chunk offsets again.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9102>
2025-06-17 07:02:47 +00:00
Robert Mader
abe186e466 wayland: Add basic colorimetrie support
Using the Wayland color-management and color-representation protocols.

The implementation queries supported values from the compositors and tries
to convert them into GstVideoColorimetry values. It currently *does not*
pass these upstream to decoders etc. as GstCaps for negotiation.

On the Wayland side it uses named transfer functions, named primaries,
matrices and ranges. The straight alpha mode is also set if supported
by the compositor.

On setting caps it translates the GstVideoColorimetry from the GstVideoInfo
back to into a Wayland parametric image description and color representation
for the video surface if possible. If a colorimetry is not fully
support, we bail out and if wayland objects already exist they get reset or
deleted.

Note that not all GstVideoColorimetry values are implemented yet.

Useful debug options: GST_DEBUG=wlwindow:4,wldisplay:4

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6830>
2025-06-17 05:41:40 +00:00
Robert Mader
bd70a242ec wayland: wlwindow: Use GstWlWindow debug category
As probably intended - and Demote frame_redraw_cb log to debug
to make it less noisy.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6830>
2025-06-17 05:41:40 +00:00
Robert Mader
61f03a0ec1 wayland: Turn wl objects into GstObjects
For better logging and locking support.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6830>
2025-06-17 05:41:40 +00:00
Robert Mader
0ed3a83ee7 wayland: Add color protocols
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6830>
2025-06-17 05:41:40 +00:00
Sebastian Dröge
48cfd3a6e4 aacparse: Add test for correctly parsing the number of channels from codec_data
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9074>
2025-06-17 04:12:15 +00:00
changyong.ahn
163e9e8df4 aacparse: Fix counting audio channels in program_config_element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9074>
2025-06-17 04:12:15 +00:00
changyong.ahn
300ff38178 gstaacparse: Fix counting audio channels in program_config_element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9074>
2025-06-17 04:12:15 +00:00
Jan Schmidt
ffba5837ac tsdemux: Send new-segment before GAP
If adding a sparse stream and sending a gap event to bring it
up to speed, make sure to send the new segment event first

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8143>
2025-06-17 03:01:39 +00:00
Víctor Manuel Jáquez Leal
74b741e535 test: vulkanupload unit test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9218>
2025-06-16 23:23:44 +00:00
Víctor Manuel Jáquez Leal
717198b38b vulkanupload: fix regression for uploading VulkanBuffer
Merge request !5651 introduced a regression for uploading VulkanBuffer. It can
be verified by

gst-launch-1.0 videotestsrc ! video/x-raw, format=NV12 ! vulkanupload ! \
  video/x-raw\(memory:VulkanBuffer\) ! fakesink

Nobody has complained about this regression, so we assume it's a very niche
use-case.

This patch solve the regression by instantiating a different buffer pool
depending on the output cap features, and configuring it accordingly.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9218>
2025-06-16 23:23:44 +00:00
Nicolas Dufresne
43d67a6557 ci: Move to trigger jobs instead of REST calls
The REST calls no longer work, returning error 422. Move to trigger
jobs which seems to have been fixed. The down side is that we looses
the ability to run against user matching cerbero branch.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9224>
2025-06-16 15:12:03 -04:00
Thibault Saunier
97fec43422 discoverer: Make gst_discoverer_info_from_variant nullable
There is no guarantee that the passed in data is valid and we should return
NULL in that case.

Also add API safeguards

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8953>
2025-06-11 10:18:23 -04:00
Piotr Brzeziński
fa44cfdaaa imagefreeze: Handle EOS from send_event()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9191>
2025-06-11 13:13:18 +02:00
Matthew Waters
9f055e1eeb qml6gloverlay: support directly passing a QQuickItem for QML the render tree
This is provided in addition to the text description in the qml-scene.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9180>
2025-06-11 11:55:51 +10:00
Daniel Morin
97a193c3d8 gststructure: update gir file
- gir file update with API change

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9184>
2025-06-10 19:22:34 +00:00
Daniel Morin
b44f19ccbc value: fix subset between arrays
- Adding gst_value_is_subset_array_array to test if an array is a subset of
  another array.
- Check gst_caps_is_subset() between containing arrays work.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9184>
2025-06-10 19:22:34 +00:00
Daniel Morin
848d55b96a gststructure: add gst_structure_get_caps
- Get field of type #GstCaps from #GstStructure

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9184>
2025-06-10 19:22:34 +00:00
Olivier Crête
1fa4d154d8 onnx: Also implement stop to clean up session
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9176>
2025-06-10 18:15:11 +00:00
Olivier Crête
f48ad0fde6 onnxinference: Clean up session creation logic
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9176>
2025-06-10 18:15:11 +00:00
Víctor Manuel Jáquez Leal
82a71a7739 gstreamer-vaapi: remove subproject
It's almost superseded by va plugin in gst-plugins-bad.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9200>
2025-06-10 17:32:46 +00:00
Philippe Normand
2a1890c03c transcoder: Fix uritranscodebin reference handling
Make sure the reference is not floating, because the get_pipeline function
returns a transfer-full reference.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9198>
2025-06-10 16:45:20 +00:00
L. E. Segovia
ebee431dac curl: Fix wrong format specifier for macOS
> ../ext/curl/gstcurlhttpsrc.c:1331:11: error: format specifies type
> unsigned long long' but the argument has type 'curl_off_t' (aka 'long') [-Werror,-Wformat]

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8974>
2025-06-10 14:58:26 +00:00
Edward Hervey
435b0799fc gst-python/tests: don't depend on webrtc and rtsp-server
They might not be built, nor are they needed for the tests

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8292>
2025-06-10 13:47:25 +00:00
Stefan Andersson
38f5ab75fd h26xparse: Drop NAL units that can't be parsed using AU alignment
Change so that the handling of NAL unit that can't be parsed when using
AU alignment is the same as when using NAL alignment, ie drop the data
if it can't be parsed.

If the AU contains more than one NAL unit any correctly parsed NAL unit
in the AU is kept.

Fixes #4436

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8976>
2025-06-10 13:00:20 +00:00
Stefan Andersson
a58fd15c91 h26xparse: Bail out if ...finish_frame returns an error
For NAL alignment bail out if gst_base_parse_finish_frame returns a flow
error.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8976>
2025-06-10 13:00:20 +00:00
Stefan Andersson
9aa1b969cd h26xparse: Prevent assert hitting when discarding NAL unit
If using NAL aligment and only dropping part of the AU, the size
argument given to gst_base_parse_finish_frame was wrong and this assert
in gst_base_parse_finish_frame hit
'gst_adapter_available (parse->priv->adapter) >= size' failed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8976>
2025-06-10 13:00:20 +00:00
Daniel Morin
28fafc5488 onnx: produce tensor caps
- Add tensor description to srcpads caps

onnx: formatting

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9172>
2025-06-10 09:04:48 +00:00
Daniel Morin
9bd3a3be74 gsttensor: adding new datatypes
- Adding datatype for string, boolean, complex numbers and special floating
  point numbers.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9172>
2025-06-10 09:04:48 +00:00
Doug Nazar
09a0a6a9d5 rtpjpeg: fix copying of quant data if it spans memory segments
rtpjpeg no longer joins all memory segments before encoding. Ensure
we copy the data from the correct segments.

Re-arrange test data so it's not correctly ordered and add test.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5533>
2025-06-09 10:36:07 +00:00
raghu447
4b6c732fdd analytics: add a convenient API to retrieve tensor
use the API in facedetector tensor decoding

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9162>
2025-06-09 10:06:43 +05:30
raghu447
a5586a50c2 tfliteinference: initialize means and stddevs arrays appropriately
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9189>
2025-06-08 17:07:47 +00:00
Elliot Chen
0f7ee14a1d adaptivedemux2: free cancellable when freeing transfer task
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8610>
2025-06-07 12:17:27 +00:00
L. E. Segovia
df69437ee5 android: vulkan: Update Gradle to 8.10.1
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:47 +00:00
L. E. Segovia
b1888da507 android: vulkan: Update Gradle to 7.5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:47 +00:00
L. E. Segovia
1dd93518fd android: Re-enable bigger gradle memory parameter and add it to player
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:47 +00:00
L. E. Segovia
2549f63b3c android: tutorial-5: Fix crash when trying to skip video
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:47 +00:00
L. E. Segovia
0c5ea7f857 android: Update provided projects to API level 24
In preparation for https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/802

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:47 +00:00
L. E. Segovia
278ba6f6a3 android: tutorials: Update Gradle to 8.11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:47 +00:00
L. E. Segovia
035bd5d37e android: tutorials: Update Gradle to 7.5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:47 +00:00
L. E. Segovia
3591d81f06 android: player: Update Gradle to 8.11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:46 +00:00
L. E. Segovia
b77c6e2a16 android: player: Update Gradle to 7.5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:46 +00:00
L. E. Segovia
b6ceb8de2a android: webrtc: Update Gradle to 8.11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 22:27:46 +00:00
L. E. Segovia
866769b765 android: webrtc: Update Gradle to 7.5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9104>
2025-06-06 16:42:39 +00:00
Jakub Adam
12607d67b1 meson: fix building -bad tests with disabled soundtouch
Fixes an error from Meson:

../subprojects/gst-plugins-bad/tests/validate/meson.build:16:93: ERROR:
Unknown variable "soundtouch_dep"

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9190>
2025-06-06 17:43:53 +02:00
Pratik Pachange
0e78a6c5aa v4l2object: Make extra-controls property mutable in playing state
Certain encoder user controls as well as codec controls can be
changed while the pipeline is in playing state.
e.g. Codec controls like video_bitrate, frame_ltr_index,
use_ltr_frames, etc. and user controls like horizontal_flip,
vertical_flip can be changed while the pipeline is running.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9168>
2025-06-06 14:06:50 +00:00
Glyn Davies
607d24dfc6 mpegtsmux: Corrections around Teletext handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8966>
2025-06-05 13:43:23 +00:00
James Cowgill
39a6ecf56a vecdeque: Use correct index type in gst_vec_deque_drop_struct
Fixes some `-Wsign-compare` warnings. These two indices should be
`gsize` like the other variables in this function.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9171>
2025-06-05 11:53:16 +00:00