Commit graph

317 commits

Author SHA1 Message Date
Xavier Claessens
cff1d1962b gstmessage: Debug error message is nullable
When debug is NULL, gst-launch-1.0 won't print
"Additional debug info:" line.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8943>
2025-05-10 22:13:22 +00:00
Xavier Claessens
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
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
Jordan Yelloz
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
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
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
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
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
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
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
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
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
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
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
Jordan Yelloz
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
Tim-Philipp Müller
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
Tim-Philipp Müller
d31ce8e5e1 Release 1.26.0 2025-03-11 20:20:16 +00:00
Matthew Waters
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
Matthew Waters
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
Tim-Philipp Müller
644a005ecb Back to development after 1.25.90 2025-02-23 23:52:57 +00:00
Tim-Philipp Müller
94a3e912ab Release 1.25.90 2025-02-23 23:44:10 +00:00
Matthew Waters
ddf7c1ec63 gldisplay/egl: Add API for overriding foreign-ness of the EGLDisplay
Scenario is using wayland with this pipeline: videotestsrc ! glupload ! qml6glsink.

First pipeline and qml construction works just fine.  However if all GStreamer
and QML scenegraph resources are removed, GStreamer will call eglTerminate() and
sever the connection to the display server for Qt.  When Qt attempts to do any
further GL operations like construct a new QML scene, it can crash in any number
of places as libEGL will start returning NULL or other unexpected values.

What we really need is to ensure that if an external API (e.g. Qt) will
eventually call eglTerminate(), there is no need for GStreamer to call
eglTerminate().  This is what the foreign display flags allows setting.

There is also another possible scenario where one may like to make GStreamer
assume ownership of an EGLDisplay and thus eventually call `eglTerminate()`.  As
such, it is now also possible to mark an GstGLDisplayEGL as non-foreign.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8504>
2025-02-21 12:03:31 +00:00
Sebastian Dröge
359183c6a4 mpegts: Rename un-namespaced REG_TO_UINT32 macro
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4226

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8506>
2025-02-19 09:29:28 +00:00
Edward Hervey
03902c30de mpegts: Update annotations
Specify whether the various functions can return a NULL value

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8466>
2025-02-18 14:05:53 +00:00
Sebastian Dröge
a4a1de05f1 gstreamer: Fix various gobject-introspection warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8501>
2025-02-18 12:02:55 +00:00
Sebastian Dröge
f902f70659 buffer: Mark gst_buffer_extract() size parameter as in-parameter
Otherwise it's considered an out-parameter because of its relationship with
the dest array pointer.

Suggested-by: Sergey Bugaev <bugaevc@gmail.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8494>
2025-02-18 08:16:19 +00:00
Olivier Crête
3dc6abbe68 analyticsmeta: Make output struct annotation more explicit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8489>
2025-02-17 15:25:51 +00:00
Xavier Claessens
f25668a223 gststructure: Fix deserialization of GStrv
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8438>
2025-02-17 08:31:36 +00:00
Sebastian Dröge
ad66d338dd play: Fix annotations of parse_missing_plugins() API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8487>
2025-02-16 17:11:32 +02:00
Thibault Saunier
be7cdea096 ges: Annotate TimelineElement in-point getter and setter
So they are not duplicated in (rust) bindings.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8475>
2025-02-13 22:07:43 +00:00
Sebastian Dröge
959ccf65ad video-info: Validate chroma-site when parsing caps and set defaults if none is set
Previously there was no validation at all and the defaults were set if the
colorimetry was not set or invalid, but there's not really any connection
between colorimetry and chroma-site.

More validation could make sense in the future.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8258>
2025-02-12 13:15:24 -03:00
Stéphane Cerveau
178f05aac7 vkutils: update gst_vulkan_handle_set_context doc
device is a GstVulkanDevice

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7011>
2025-02-10 16:13:20 +00:00
Carlos Bentzen
7faa031e0e pbutils: add profile-tier-level functions for VVC/H.266
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5088>
2025-02-10 09:20:22 +00:00
Tim-Philipp Müller
bf5f642841 Back to development after 1.25.50 2025-02-09 17:47:32 +00:00
Tim-Philipp Müller
3e8f88d756 Release 1.25.50 2025-02-09 17:35:17 +00:00
Guillaume Desmottes
b5fdb5aec5 codecs: include gsth266decoder.h when building gir
Will hopefully fix cerbero ci job.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8430>
2025-02-07 23:04:16 +00:00
Sebastian Dröge
7346764b8e play: Distinguish missing plugin errors and include more details in error/warning messages
Include the URI (and if possible) stream-id in the messages. These are provided
by uridecodebin3 / decodebin3 in most cases but there is fallback code to guess
them otherwise.

For missing plugin errors also the installer details are included.

The URI is included in all message types.

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8236>
2025-02-07 01:02:01 +00:00
Jan Schmidt
84f8fcedc6 rtsp-onvif-media-factory: Add create_backchannel_stream() vfunc
Move the functionality that collects the backchannel bin and turns
it into an RTSP stream object into a vfunc so that implementations
can override the behaviour or timing of the call

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8378>
2025-02-06 12:31:59 +00:00
He Junyan
652cd2470f Doc: update the document for the vvc decoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5865>
2025-02-05 18:57:06 +08:00
Sebastian Dröge
83e95af6e3 mpegtsdescriptor: Add (transfer none) annotation to out parameter of parse_registration()
Out parameters are (transfer full) by default.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8380>
2025-01-30 01:06:55 +00:00
Thibault Saunier
e77a16b2e6 gst: utils: Add a multiply_int64 variant
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8262>
2025-01-17 15:13:14 +00:00
Daniel Morin
b953b1ce83 gst-analytics: update gir file
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8307>
2025-01-15 17:34:43 -05:00
Daniel Morin
5919b20e8b gst-analytics: add missing mtd segmentation API
- add gst_analytics_segmentation_mtd_get_mtd_type() which is required to
  retrieve the concrete type of a generic mtd (GstAnalyticsMtd).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8307>
2025-01-15 17:27:15 -05:00
Carlos Bentzen
7405866c84 tsdemux: add support for VVC/H.266
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4940>
2025-01-15 13:55:25 +01:00
Tim-Philipp Müller
a059536b58 Back to development after 1.25.1 2025-01-14 15:00:43 +00:00