Commit graph

1562 commits

Author SHA1 Message Date
Sebastian Dröge
29ab13fdf9 gstreamer: Ensure to provide existing messages to bus stream immediately
Previously the sync handler would only be called once a new message
arrives on the bus and only then any existing messages would be popped
from the bus and passed into the mpsc channel. This unnecessarily
delayed the messages.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1737>
2025-05-27 16:54:44 +00:00
Sebastian Dröge
dbe6282cc6 memory: Don't store the memory / memory reference in the map info a second time
It's already stored in the C map info struct.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1734>
2025-05-26 11:01:47 +03:00
Guillaume Desmottes
28a5c9229f gstreamer: caps: implement Hash
Can be useful to store Caps in HashMap for example.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1639>
2025-05-21 11:05:18 +02:00
Guillaume Desmottes
68280c1dae gstreamer: caps_features: implement Hash
Will be used to implement Hash on Caps.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1639>
2025-05-21 11:05:18 +02:00
Guillaume Desmottes
f9f85ae75e gstreamer: structure: implement Hash
Will be used to implement Hash on Caps.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1639>
2025-05-21 10:35:20 +02:00
Guillaume Desmottes
d1ad651548 gstreamer: value: add binding for gst_value_hash()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1639>
2025-05-21 07:51:01 +02:00
Sebastian Dröge
80241b1d21 Regenerate with latest GStreamer gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1729>
2025-05-13 16:18:06 +00:00
Sebastian Dröge
3b0dd22ee9 Regenerate with latest gir / gir-files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1723>
2025-04-29 09:49:09 +03:00
Seungha Yang
10dcee7b59 gstreamer: Fix leak in parent_request_new_pad()
request_new_pad() does not take ownership of name string

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1715>
2025-04-15 00:52:27 +09:00
Sebastian Dröge
8e475a9011 gstreamer: Fix some new clippy warnings because of the MSRV bump
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1713>
2025-04-14 11:14:13 +03:00
Sebastian Dröge
161f2bca0a Fix some new clippy 1.86 warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1696>
2025-04-04 08:27:14 +00:00
Sebastian Dröge
c8d752affc gstreamer: Update to ron 0.9
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1695>
2025-04-02 13:02:14 +03:00
Sebastian Dröge
963d785dda Regenerate with new GStreamer gir files
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1694>
2025-04-02 09:51:04 +03:00
Simon Wülker
86ae0cea92 Bump gir / gir-files version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1693>
2025-04-02 09:37:12 +03:00
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
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
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
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
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