Commit Graph

343 Commits

Author SHA1 Message Date
d255ed96f0 tensor: Clarify meaning of the dimensions array in the docs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9325>
2025-07-17 11:25:59 +00:00
3a51f42ab0 analytics: Add GstAnalyticsBatchMeta for batches of buffers from one or more streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9282>
2025-07-13 18:25:26 +02:00
24ee088cee Back to development after 1.27.1 2025-07-08 20:00:07 +01:00
1fa56616fb Release 1.27.1 2025-07-08 19:58:12 +01:00
d45864d77c opengl: upload: Fix and improve DRM modifiers direct import
When using direct DMABuf upload, supported DRM formats and modifiers
pairs should be translated to RGBA. Instead of overwriting the translation
to RGBA, which may endup having nothing to override, we introduce a new
flag for the transform helper, so it can do direct translation.

This fixes a regression introduced by !9306, and fixes more negotiations
issues.

Fixes #4525

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9339>
2025-07-08 15:06:05 +01:00
4ed83e5973 vulkanfullscreenquad: add locks for synchronisation
Now all API can be accessed from any thread.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9337>
2025-07-08 11:43:13 +00:00
9575de7367 netclientclock: Update gir file
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9115>
2025-07-07 13:01:34 +00:00
d5e9779e55 gstvalue: update gir file
- update gir file

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9220>
2025-07-02 06:47:00 +00:00
93241e4203 gstvalue: generalize gst_value_is_subset()
- Add case where we have element in subset that are equal to element in
  superset. In this case subset is still a subset if at least one element is a
  subset of the corresponding element in superset.
- clarify gst_value_is_subset inline documentation
- Add helper VALUE_TYPE_SINGLETON (type) to identify GType that represent a
  value that is not a collection.
- Fixed issue in gst_value_is_subset_array_array (<1, 2, 3>, <0, 1, 4, 2, 3>)
  would have returned TRUE because because the alignment of the subset could be
  done multiple times. Now once alignment of set as been done once, everything
  else in the superset need to be a subset of corresponding element without
  interuption. is_subset (<1, 2, 3>, <0, 1, 2, 3>) => TRUE, but is_subset (<1,
  2, 3>, <0, 1, 4, 2, 3>) => FALSE.
- If both array are fixed value and we perform a is_subset on them, both value
  can't be equal to be considered subset. (For consistency with other fixed
  values)
- Define gst_value_subtract (singleton, array) and
  gst_value_subtract (array, singleton), to allow a gst_value_is_subset
  (singleton, array) and gst_value_is_subset (array, singleton). General
  case of gst_value_is_subset (v1, v2) use gst_value_subtract (v1, v2) and
  gst_value_subtract (v2, v1) to evaluate _is_subset(), therefore we need these
  for is_subset() operation that involve singleton and array.

  Note gst_value_subtract (array, array) is not implemented but this case is not
  require by gst_value_is_subset () and as it has a direct handling. Warned if
  the case is used.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9220>
2025-07-02 06:46:59 +00:00
8711294ea0 analytics: Fix docs of gst_tensor_check_type()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9311>
2025-06-30 11:13:24 +00:00
bebec6d965 analytics: Fix transfer annotations of gst_tensor_check_type()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9293>
2025-06-30 08:00:17 +00:00
4bd4c4d4f7 buffer: Add optional info structure to GstReferenceTimestampMeta
This allows carrying additional per-timestamp information if needed.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9245>
2025-06-24 08:00:14 +00:00
371100c743 tracers: Fix deadlock in latency tracer
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4317

This patch fixes a regression in
a35bf1e384.

The new calls to tracers in the affected change were being done while
holding the pad object lock, which wasn't the case in the old ones,
leading to the latency tracer deadlocking in gst_object_get_parent().

The dependency on the pad lock for those calls was accidental. This
patch removes it by temporarily unlocking during the affected calls,
not unlike how it's done when calling a probe callback or the
send_event() function of the downstream element.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8925>
2025-06-19 09:12:14 +00:00
fb43941e92 sdp: Add media_add_media_from_structure API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9117>
2025-06-17 14:53:32 +00:00
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
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
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
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
06851d2e4c python: Fix pulling events from appsink
appsink.pull_object() is introspectable, but it needs a way to convert
the GstMiniObject to its GstEvent/GstSample subclass.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9148>
2025-06-04 20:49:53 +00:00
0b12b883c9 gstinfo: Add missing log context stub functions when debugging disabled
When GST_DISABLE_GST_DEBUG is defined, the log context functions were
missing their stub implementations, causing link errors. Add the missing
stub functions to the disabled debug section.

Also add (nullable) annotation to gst_log_context_get_category since
it can return NULL when debugging is disabled.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9122>
2025-06-04 13:47:04 +02:00
78a44afc22 gst: Add a gst_structure_is_writable method
There are cases (in the gst-python bindings for example) where
it is interesting to know that the structure is not writable

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9027>
2025-05-25 15:16:37 +02:00
c796abbf0a gst: info: Add a GstLogContext API
Add a new API to control logging behavior, particularly for implementing
"log once" functionality and periodic logging. This helps avoid spamming
logs with repetitive messages.

The API provides:
- Static and dynamic context creation
- Configurable message identity calculation
- Periodic reset capability
- Context-aware logging macros
- Element message variants with context support

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6855>
2025-05-22 09:53:35 +00:00
bd3c267adb meta: Add gst_meta_api_type_tags_contain_only()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9004>
2025-05-21 12:13:56 +00:00
daae2c18a4 gl/window: add support for configuring whether a backing surface is needed
Fixes videotestsrc ! glimagesink videotestsrc ! glimagesink under Wayland (at
least).

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2997

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9007>
2025-05-21 08:30:47 +00:00
5c188d90c0 tensor: Add helper function to stringify a tensor data type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8523>
2025-05-20 16:05:51 +00:00
ba05421ab2 baseparse: Add disable-clip property
Adding a property to allow pushing buffers that are out of segment,
and do not drop out of segment buffers by default

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8773>
2025-05-20 12:17:22 +00:00
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
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
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
55bf8d3903 Revert "gir: Updated introspection for MSE library"
This reverts commit 2134247a9c.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8857>
2025-04-18 06:16:00 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
2134247a9c gir: Updated introspection for MSE library
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8512>
2025-03-26 21:44:13 +00:00
1a971d8e12 Back to development in main branch after 1.26.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8621>
2025-03-12 14:21:08 +01:00
d31ce8e5e1 Release 1.26.0 2025-03-11 20:20:16 +00:00
4692a45dea vkformat: fix format_from_video_info_2 to actually runtime check versions and extensions
If the vulkan plugin was compiled against a newer version than the supported
vulkan runtime instance or device, then it was possible for format retrieval to
fail.  Failure was due to unconditionally using newer extensions and features
without runtime checking them.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>
2025-03-06 12:14:20 +00:00
72860a20bf vulkan/physicaldevice: add methods for retrieving and checking against an API version
Most version checks should actually be done against the device API version and
not the instance API version.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8554>
2025-03-06 12:14:20 +00:00