299 Commits

Author SHA1 Message Date
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
Tim-Philipp Müller
ca9d85c3b7 Release 1.25.1 2025-01-14 14:57:58 +00:00
Edward Hervey
efbe1e96ca msesourcebuffer: Fix unsigned value handling
Use the explicit valid clocktime handler instead

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286>
2025-01-13 08:08:01 +00:00
Olivier Crête
1485a387a4 codec-utils: Add missing nullable annotation to new APIs
Those APIs are documented to sometimes return NULL.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8271>
2025-01-09 22:43:54 +00:00
Olivier Crête
33259e7ea4 analytics: Tensor dimensions are always row-major or col-major
Simplify by removing the extra fields, as this is what all
frameworks give us.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8250>
2025-01-08 21:47:52 +00:00
Daniel Morin
0a343fa738 analytics: remove batch-size
- Batch-size will be the outer-most dimension. Presence of batch dimension can
  be identified using `dims` and `id`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8191>
2025-01-03 23:14:39 +00:00
Sebastian Dröge
2f3deb4009 message: Remove nullable annotation from gst_message_writable_details()
This function can never return NULL as the details are created for the message
if there are none yet.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8235>
2025-01-03 13:21:28 +00:00
Sebastian Dröge
fd91abfc9a audio: Add top-surround-left and right channel positions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8171>
2025-01-03 10:11:31 +00:00
Sebastian Dröge
9e3bb0a009 audio: Add new gst_audio_reorder_channels_with_reorder_map()
This allows reordering the samples with a pre-calculated reorder map instead of
calculating it again every time.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8171>
2025-01-03 10:11:31 +00:00
Sebastian Dröge
0b00cb04b3 play: Add stream-id based selection of streams to match better playbin3's API
As part of this

  - Add accessors for the stream ID and selection API based on the
    stream ID
  - Deprecate the old index-based APIs
  - Remove playbin support
  - Implement the track enable API based on stream selection

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7648>
2024-12-27 19:00:18 +00:00
Edward Hervey
5480894dee pbutils: New AV1 caps utility functions
Makes it easy to convert between caps and codec_data

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4442>
2024-12-20 14:19:00 +00:00
Matthew Waters
dbf4915abd cuda/context: add gpu stack size property
Allows reducing the initial stack size of GPU threads.  Cuda should
automatically increase this value if a kernel requires a larger stack.

Can save roughly 40MB of GPU memory for a single nvh264enc instance.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>
2024-12-19 00:33:03 +00:00
Matthew Waters
d6563016ca cuda: add CuGet/SetCtxLimit()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8158>
2024-12-19 00:33:03 +00:00
Thibault Saunier
5aadb25d0e ges-meta-container: Fix the GET_INTERFACE macro
It had a synthax issue

Fixes https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/issues/141

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8146>
2024-12-13 16:37:54 +00:00
Oskar Fiedot
a3a7acdd0a analytics: add rotation to object detection mtd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7938>
2024-12-11 11:54:15 +01:00
Thibault Saunier
5e18499372 tracers: Simplify params handling using GstStructure and object properties
Instead of having each tracer implement its own parameter parsing,
centralize the handling in the tracer subsystem using GstStructure.
This simplifies tracer implementations and provides a consistent way
to handle properties.

It also allows for much better documentation by forcing tracer object
to expose properties

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086>
2024-12-10 09:35:35 +00:00
Daniel Morin
0878a83860 analytics: update gir
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8087>
2024-12-09 18:18:30 +00:00
Daniel Morin
a1e623d200 analytics: add _N_TO_N relation type
This relation type define relations between each components of two groups.
First component of first group relate to first component of second group,
Second component of second group relate to second component of second group,
and so on. It's a denser way to express relations in this context.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8087>
2024-12-09 18:18:30 +00:00
Seungha Yang
ebd4ec93b1 vecdeque: Fix documentation of push_tail_struct()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8111>
2024-12-09 14:00:33 +00:00