Commit graph

1770 commits

Author SHA1 Message Date
Sebastian Dröge
41f9d994de Update CHANGELOG.md for 0.23.4 2024-12-21 17:52:19 +02:00
Sebastian Dröge
95fdfb757b Regenerate with latest gir / gir-files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1617>
2024-12-20 15:50:33 +02:00
Piotr Brzeziński
30dbda1a1c log: Add as_ptr() for DebugMessage
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1614>
2024-12-13 12:23:46 +01:00
Piotr Brzeziński
a0de8269f1 log: Add as_ptr() and Hash to DebugCategory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1612>
2024-12-11 18:02:44 +01:00
Sebastian Dröge
6e9a499146 gstreamer: Don't generate bindings for gst_util_ceil_log2() and the floor variant
This already exists in the standard library.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1610>
2024-12-10 12:20:02 +00:00
Sebastian Dröge
9e3a0fd52b gstreamer: Add support for new tracer use-structure-params API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1610>
2024-12-10 12:20:02 +00:00
Sebastian Dröge
82b185068a Regenerate with latest gir / gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1610>
2024-12-10 12:20:02 +00:00
Sebastian Dröge
6913e930cd Fix / silence new Rust 1.83 clippy warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1604>
2024-11-30 14:48:22 +02:00
Sebastian Dröge
3bc4076aee gstreamer: Remove unnecessary recursion_limit=256
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1604>
2024-11-30 14:48:22 +02:00
Sebastian Dröge
26791af39a meta: Add bindings for new meta_api_type_aggregate_params() function
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1600>
2024-11-22 14:23:35 +02:00
Sebastian Dröge
11be6b0d2f meta: Add functions for working with meta API types directly
When working with allocation queries one only has the `glib::Type`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1600>
2024-11-22 14:23:35 +02:00
Sebastian Dröge
486b5178e9 Regenerate with latest gir / gir-files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1600>
2024-11-22 13:32:24 +02:00
François Laignel
591ab4314e gst: structure: revert [filter_]map_in_place deprecation
For `Structure`, `map_in_place()` & `filter_map_in_place()` where marked as
deprecated when the feature v1_26 was selected. Any existing code using those
functions will be rejected by CI clippy job because it uses `--all-features`.

This commit removes the conditional deprecation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1599>
2024-11-21 12:44:14 +01:00
Sebastian Dröge
5b652aa3d0 gstreamer: Allow dumping mutable byte slices too
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1596>
2024-11-21 13:00:26 +02:00
François Laignel
9c386085e3 all: GObject builders: generalise property_from_str
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1594>
2024-11-19 10:11:32 +01:00
Sebastian Dröge
7fb69c825f Regenerate with latest gir again
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1591>
2024-11-15 13:10:32 +02:00
Sebastian Dröge
44006bc4f1 gstreamer: pad: Remove unnecessary <1.14 compatibility code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1591>
2024-11-15 12:00:02 +02:00
Sebastian Dröge
46ead1f36c Regenerate with latest gir / gst-gir-files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1591>
2024-11-15 12:00:02 +02:00
François Laignel
5ab9c5a203 gst: deprecate maybe_field() setters in favor of field_if_some()
Some builder convenience setters where added to work with `Option`al values.
This is the case for the `Pad` builder setter `maybe_name()` which was
introduced as part of [this MR].

Then [more convenience setters] were discussed and [it was decided] to use
`field_if_some()` instead of `maybe_field()`. Existing `maybe_field()`s were
kept for backward compatibility. This commit marks them as deprecated,
referring to the matching `field_if_some()`.

[this MR]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1255
[more convenience setters]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/499
[it was decided]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/499#note_2364820

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1592>
2024-11-14 11:46:24 +01:00
François Laignel
dcf6d333b6 gst: tags: remove Quark
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1531>
2024-11-13 15:34:00 +01:00
François Laignel
0d28cbceac gst: caps: update for IdStr
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1531>
2024-11-13 15:34:00 +01:00
François Laignel
2d2ded555e gst: structure: deprecate Quarks and use IdStr
Update Structure API:

* Quarks API are deprecated. Methods which were internally calling quarks
  methods now call C string based methods.
* Added new `IdStr` methods.

See also:

* https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432
* https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7613
* https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7644

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1531>
2024-11-13 15:34:00 +01:00
François Laignel
c2cc048803 gst: implement IdStr bindings and compatibility versions
IdStr represents UTF-8 immutable strings which perform optimizations for short
strings (< 16 bytes). The C type `GstIdStr` was introduced in GStreamer 1.26 as
a replacement for GQuarks.

This commit adds Rust bindings for the C type `GstIdStr`. Since this type will
be used in API which previously relied on GQuarks, the commit also adds a
compatibility implementation which can be used with GStreamer versions prior to
1.26, which is the first version to implement and use `GstIdStr`.

The crate [KString] was used as the inner implementation for the compatibility
version as it performs similar optimizations as `GstIdStr` and uses the same
threshold to trigger heap allocation.

See also: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432

[KString]: https://crates.io/crates/kstring

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1531>
2024-11-13 15:33:59 +01:00
François Laignel
bad44ef436 gir: regenerate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1531>
2024-11-13 13:58:25 +01:00
François Laignel
91a04c1ca3 gst-sys: add manual implementation for GstIdStr
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1531>
2024-11-13 13:58:25 +01:00
François Laignel
389c69c300 gst: update Gir.toml
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1531>
2024-11-13 13:58:25 +01:00
François Laignel
ae0283f154 gst: fix serde test for ObjectFlags::all()
GStreamer 1.24 added `GST_OBJECT_FLAG_CONSTRUCTED`, so `ObjectFlags::all()`
returns a different set depending on the version feature.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1590>
2024-11-13 13:35:50 +01:00
Sebastian Dröge
87cfa2f959 Update glib dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1589>
2024-11-12 16:51:41 +02:00
Sebastian Dröge
a9b33a465c Update CHANGELOG.md for 0.23.3
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1582>
2024-11-12 11:50:00 +02:00
Sebastian Dröge
854c2e692a Update CHANGELOG.md for 0.23.2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1549>
2024-11-12 11:50:00 +02:00
François Laignel
5df7df303c gst: Element::foreach*_pad: return ControlFlow instead of bool in callback
Same as for BufferList::foreach*.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1584>
2024-11-07 10:04:43 +01:00
François Laignel
ce77a67382 gir: regenerate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1584>
2024-11-07 10:04:41 +01:00
François Laignel
d8573d86a8 gir: Element::foreach*_pad: return ControlFlow instead of bool in callback
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1584>
2024-11-07 10:03:56 +01:00
François Laignel
3f969485b7 gst: BufferList::foreach{_mut} discard bool result
If we really wanted to return a value, we would use `ControlFlow`. In Rust, if
we need to inform the caller that processing has stopped, we'd rather do this by
updating a variable from within the `func`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1584>
2024-11-07 10:03:54 +01:00
François Laignel
33781c5e65 all: fix userdata mutability for FnMut callbacks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1585>
2024-11-07 09:44:29 +01:00
François Laignel
2a1473d69d regenerate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1585>
2024-11-07 09:44:27 +01:00
Sebastian Dröge
a38ad3451f Update to thiserror 2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1583>
2024-11-06 10:44:51 +02:00
Sebastian Dröge
2251b842b2 Regenerate with latest gir
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1569>
2024-10-22 11:31:19 +00:00
Sebastian Dröge
048f3e1be5 Remove once_cell dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1567>
2024-10-21 17:53:15 +00:00
Sebastian Dröge
38aeec4ec5 iterator: Add a few more constructors for convenience
And implement `Vec` version more generically.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1566>
2024-10-21 17:13:38 +00:00
Sebastian Dröge
973f843353 Regenerate with latest GStreamer gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1563>
2024-10-20 17:48:45 +00:00
Sebastian Dröge
6bd487739b Update Gir.tomls
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1563>
2024-10-20 17:48:45 +00:00
Sebastian Dröge
445a4122d5 Remove unnecessary sealing of ImplExt traits and enforce type hierarchy more strictly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1563>
2024-10-20 17:48:45 +00:00
Sebastian Dröge
abbc85c3d0 Remove unnecessary trait sealing
For all these traits only the implementation that already exists is possible.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1563>
2024-10-20 17:48:45 +00:00
Sebastian Dröge
887bffbb2c Regenerate with latest gir
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1563>
2024-10-20 17:48:45 +00:00
Viktor Chvatal
526074ea78 gstreamer: Fix binding to wrong C function in PadExtManual::proxy_query_caps
Fixes #533

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1556>
2024-10-17 11:56:31 +00:00
eri
b5bf829876 genrate gir without link attribute
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1514>
2024-09-19 11:46:18 +00:00
Jan Alexander Steffens (heftig)
90f9406377 gst: Fix range in Percent::ppm doc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1533>
2024-09-18 17:49:05 +02:00
François Laignel
73544718b4 gst: fix typo in format doc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1532>
2024-09-18 11:52:37 +02:00
Arun Raghavan
bd37999166 gstreamer: Add tests for pad probes taking and dropping data
This is quite similar to the HANDLED case, so reuse that code.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1528>
2024-09-12 12:36:52 -04:00