Commit graph

1802 commits

Author SHA1 Message Date
Sebastian Dröge
5051f522b7 Don't use impl IntoIterator<Item = impl SomeTrait>
Instead use a generic type parameter for the item. This allows calling
e.g. gst::Array:🆕:<&str>([]) as a type annotation is necessary in
such cases.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1691>
2025-03-28 16:34:30 +00:00
Sebastian Dröge
757352c6cc bufferlist: Add drain() method to iterate over the list while removing buffers
This behaves similar to the same on Vec, especially the whole range is
dropped when the iterator is dropped.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1690>
2025-03-28 12:49:38 +02:00
Sebastian Dröge
493175742f Add #[must_use] annotation to all iterator structs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1690>
2025-03-28 12:42:06 +02:00
Sebastian Dröge
a39fe140ef childproxy: Add set_child_property_from_str() convenience API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1681>
2025-03-26 16:32:50 +00:00
Sebastian Dröge
ca0c7b8bfc gstreamer: Implement Default for BufferPoolAcquireParams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1680>
2025-03-26 07:23:05 +00:00
Sebastian Dröge
ab43303c7a gstreamer: Make use of iterators / smallvec instead of temporary Vecs for messages/events/queries
And also take owned values if the C API takes ownership of them.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1669>
2025-03-25 14:53:04 +00:00
Sebastian Dröge
c5ea622fd4 gstreamer: Implement SelectStreams event API a bit more conveniently
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/530

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1669>
2025-03-25 14:53:04 +00:00
Sebastian Dröge
6278d8d1df gstreamer: Use helper macro to define various fixed size iterators
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1669>
2025-03-25 14:53:04 +00:00
Sebastian Dröge
3a0bcd0b9e bufferpool: Change BufferPoolConfig::options() to return an iterator
Avoids unnecessary allocations for the Vec.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1669>
2025-03-25 14:53:04 +00:00
Sebastian Dröge
002f8bec14 typefind: Catch panics when calling typefind functions
Otherwise a panic during typefinding will abort the process.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1671>
2025-03-25 14:24:51 +00:00
Sebastian Dröge
9bf2cff872 bufferpool: Also consider flags when comparing BufferPoolAcquireParams for equality
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1668>
2025-03-25 12:48:01 +00:00
Sebastian Dröge
72f4c54e5e bufferpool: Add setters to BufferPoolAcquireParams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1668>
2025-03-25 12:48:01 +00:00
Sebastian Dröge
493106e725 bufferpool: Derive Copy and Clone for BufferPoolAcquireParams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1668>
2025-03-25 12:48:01 +00:00
Sebastian Dröge
9c55808cc4 allocator: Implement PartialEq and Eq for AllocationParams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1667>
2025-03-24 09:34:47 +02:00
Sebastian Dröge
7a36bd2790 allocator: Implement Copy on AllocationParams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1667>
2025-03-23 11:03:24 +02:00
Sebastian Dröge
d6770a8a00 allocator: Add setters to AllocationParams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1667>
2025-03-23 10:58:57 +02:00
Thibault Saunier
a2c9e1ef88 tracer: Add pool buffer_queue/buffer_dequeue hooks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1664>
2025-03-12 15:03:07 -03:00
Thibault Saunier
5e6204ecc2 Add 1.28 version features and update 1.26 requirement from 1.25 to 1.26
And update the ci docker images to pull in latest GStreamer 1.28

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1664>
2025-03-12 15:03:07 -03:00
Thibault Saunier
f0824e4f28 base: Lower debug logging on allocation query errors
This happens often and is not fatal

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1665>
2025-03-12 12:14:10 -03:00
will
0b58d4430c change fn signature in IntoGlibPtr to match glib latest
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1658>
2025-03-03 09:36:50 +02:00
Thibault Saunier
a938920810 allocator: Add a method to retrieve the name of the allocated memory type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1649>
2025-02-20 11:42:33 -03:00
Thibault Saunier
8bc3deb18c tracer: Add memory init/free hooks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1649>
2025-02-20 11:42:33 -03:00
Sebastian Dröge
176f360355 gstreamer: Implement ByteSliceExt generally over all AsRef<[u8]>
That covers `&[u8]` and `&mut [u8]` as well as `[u8]`, `[u8; N]`,
`Vec<u8>` and many other types.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1650>
2025-02-20 13:50:20 +02:00
Sebastian Dröge
4a50564759 Update CHANGELOG.md for 0.23.5 2025-02-17 19:31:33 +02:00
Sebastian Dröge
d4ad05dc7d Allow unused imports in auto-generated code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1646>
2025-02-16 18:21:01 +02:00
Sebastian Dröge
0404f1d621 Regenerate with latest gir / gir-files / gst-gir-files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1646>
2025-02-16 13:58:04 +02:00
Thibault Saunier
0dbac70579 docs: Fix documentation links to point to the main GStreamer documentation website
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1636>
2025-01-23 12:06:23 -03:00
Olivier Crête
195455a9db Regenerate with latest gir / gir-files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1624>
2025-01-11 10:53:33 +02:00
Jeremy Prater
da7dfd4c56 Fix serialize_struct size to match number of fields in gstreamer::Buffer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1630>
2025-01-10 08:37:37 -08:00
Brad Hards
66e05e53b3 gst: add check for IntRange::with_step step size
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1627>
2025-01-10 14:15:23 +11:00
Thibault Saunier
a77cb793cf tracer: Add support for USE_STRUCTURE_PARAMS with gst < 1.26
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1625>
2025-01-08 14:08:12 -03:00
Sebastian Dröge
c365b87781 Update to itertools 0.14
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1623>
2025-01-01 11:25:30 +02:00
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