Sebastian Dröge
e35782a3a4
Add accessor for owned Buffer
to read-mapped AudioBuffer
/ MappedBuffer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1374 >
2024-01-05 22:29:37 +02:00
Sebastian Dröge
0b4c602c6f
Provide a more convenient function for setting other fields on message/event builders
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1372 >
2023-12-31 15:53:10 +02:00
Sebastian Dröge
3b3c3baee5
Fix / work around a few new clippy 1.75 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1370 >
2023-12-22 16:33:41 +02:00
Sebastian Dröge
5f01bcf8f4
buffer: Fix range end calculations
...
And add various tests to cover for this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1369 >
2023-12-22 15:09:31 +02:00
Sebastian Dröge
52bd716a80
meta: Add support for (de)serializing metas
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 13:47:11 +02:00
Sebastian Dröge
26611a66bd
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 13:47:11 +02:00
Sebastian Dröge
003ebbdf1c
structure: Manually bind GST_SERIALIZE_FLAG_STRICT
...
As the flag changes the nullability of `gst_structure_serialize()` and
adding a new C function is apparently too much of a hassle for C
developers, add a new `serialize_strict()` function here that always
sets this flag and can fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1368 >
2023-12-21 13:47:11 +02:00
Sebastian Dröge
2fb93e1c12
Update CHANGELOG.md for 0.21.3
2023-12-18 11:07:55 +02:00
Sebastian Dröge
8b9862052b
gstreamer: memory: Simplify and correct offset/size calculations in mem_share()
...
This is all supposed to do unsigned wrapping arithmetic to calculate the
new offsets and sizes, despite input parameters being signed integers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 13:15:55 +02:00
Sebastian Dröge
5c88bd0b5f
gstreamer: memory: Use ranges instead of offset/size parameter pairs
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/497
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 13:15:38 +02:00
Sebastian Dröge
96de51a7b7
gstreamer: buffer: Use ranges instead of offset/length parameter pairs
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/497
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 11:41:01 +02:00
Sebastian Dröge
cd30854c2b
gstreamer: memory: Fix assertions for copy_range/resize/share functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 11:37:58 +02:00
Sebastian Dröge
33e3e25b49
gstreamer: buffer: Add bindings for Buffer::map_range_readable()
and _writable()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/496
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1363 >
2023-12-17 11:37:56 +02:00
Olivier Crête
248b6d2f31
gstreamer: meta: Implement Clone trait on MetaRef
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1365 >
2023-12-13 18:05:27 -05:00
Sebastian Dröge
2139f368e9
gstreamer: buffer: Add Buffer::dump()
and Buffer::dump_range()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/495
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1362 >
2023-12-11 18:34:13 +02:00
Sebastian Dröge
e72a3bfc8d
gstreamer: Improve support for dumping memories and add same functionality to byte slices
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1362 >
2023-12-11 16:05:34 +00:00
Sebastian Dröge
34fee6b691
gstreamer: formatted values: Implement ClockTime::absdiff()
and on related types
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/494
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1364 >
2023-12-10 20:49:17 +02:00
Sebastian Dröge
5d8652e872
Update to pretty-hex 0.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1361 >
2023-12-09 12:13:42 +02:00
Sebastian Dröge
ceed45cfd7
gstreamer: Optimize Buffer
/ Memory
from_slice()
to have fewer allocations
...
Instead of using `gst_memory_new_wrapped_full()` and boxing the data,
create an GstAllocator subclass that allows allocating memories that
store the data inline.
By avoiding the box, one additional heap allocation per memory is
avoided.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/498
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1357 >
2023-12-05 10:51:28 +02:00
Guillaume Desmottes
a29d7c0e19
gstreamer: rename util_get_timestamp() to get_timestamp()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 17:07:21 +01:00
Guillaume Desmottes
f055c113ac
streamer: do not publicly import functions
...
All the functions are re-exported in the root crate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 16:15:51 +01:00
Guillaume Desmottes
9bcf48050b
gstreamer: move update_registry() as Registry method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 16:15:51 +01:00
Guillaume Desmottes
a649e7dead
gstreamer: move parse_* functions to their own module
...
Better namespacing so the API is more Rust-y.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 16:15:51 +01:00
Guillaume Desmottes
f255b82b55
gstreamer: move debug_* functions to their own module
...
Better namespacing so the API is more Rust-y.
Fix #500
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355 >
2023-12-04 12:46:59 +01:00
Sebastian Dröge
59420b1590
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1353 >
2023-11-29 11:59:03 +02:00
Sebastian Dröge
ca8309a5dd
Simplify various raw pointer casts everywhere
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1353 >
2023-11-29 11:24:47 +02:00
Sebastian Dröge
897c7dfd39
gstreamer: Remove deprecated APIs
...
They were deprecated in the previous release or even older releases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1352 >
2023-11-23 13:38:16 +02:00
Sebastian Dröge
4c3de8b80e
Update versions of all autogenerated files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1348 >
2023-11-16 20:53:08 +02:00
Sebastian Dröge
1946973c25
Update to itertool 0.12
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1347 >
2023-11-15 16:53:20 +02:00
Sebastian Dröge
3ac254d34c
gstreamer: pad: Remove "caps" property getter
...
Only only leave the notify signal connection function. The property
getter is the same as `current_caps()`, which is more lightweight.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1345 >
2023-11-11 19:21:20 +02:00
Sebastian Dröge
30d8a7893b
Update CHANGELOG.md for 0.21.2
2023-11-11 15:57:11 +02:00
Sebastian Dröge
6403d3c0ee
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1343 >
2023-11-10 16:51:04 +02:00
Sebastian Dröge
4b3d9f586e
element: Add catch_panic_future()
helper function for subclasses
...
This allows wrapping a future in a way that panics are converted to
error messages on the object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1339 >
2023-11-07 10:43:20 +02:00
Sebastian Dröge
f471501df5
gstreamer: meta: Add MetaRef::copy()
for copying a meta between buffers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1338 >
2023-11-03 11:55:20 +02:00
Sebastian Dröge
eb6d3a6c6c
gstreamer: meta: Add as_meta_ref()
to MetaRefMut
...
This reduces code duplication between `MetaRef` and `MetaRefMut`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1338 >
2023-11-03 11:49:41 +02:00
Sebastian Dröge
86d470e82c
gstreamer: meta: Give returned tags array an arbitrary lifetime
...
The tags are statically stored.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1338 >
2023-11-03 11:48:23 +02:00
Sebastian Dröge
e84af103a1
Regenerate with latest gir / gir-files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1335 >
2023-11-02 15:09:20 +02:00
Fabian Orccon
b901322c46
gstreamer: rank: Do not implement gst::Rank as enum
...
Rank is not limited to known types like GST_RANK_NONE,
GST_RANK_MARGINAL, GST_RANK_SECONDARY and GST_RANK_PRIMARY, but it
can be whatever arbitrary number.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1327 >
2023-11-02 13:32:00 +02:00
Sebastian Dröge
bd4122e334
gstreamer: error: Allow using variable expansion in loggable_error!
macro
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/490
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1332 >
2023-10-26 11:49:58 +00:00
Sebastian Dröge
bd9b1d6e38
gstreamer: meta: Move has_tag()
and tags()
getters to MetaRef
...
On `MetaAPI` only the static meta API type is known and based on that
it's not possible to work with the tags of a specific meta instance's
API.
As the methods take a `&self` anyway they would be expected to check the
value at hand instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1331 >
2023-10-26 13:41:50 +03:00
Sebastian Dröge
a26fcaf0ad
gstreamer: meta: Add upcast_ref()
function to go from a specific to a generic meta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1331 >
2023-10-26 13:41:50 +03:00
Sebastian Dröge
16acea71d4
gstreamer: meta: Remove useless API on Meta
that can't be called anyway
...
`Meta` only exists inside a `MetaRef` / `MetaRefMut` and that already
provides exactly the same functions for all meta types.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1331 >
2023-10-26 13:41:47 +03:00
Sebastian Dröge
d5ba6c1336
gstreamer: meta: Add some more AsRef
and AsMut
impls
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1331 >
2023-10-26 13:38:07 +03:00
Sebastian Dröge
4d19d7b0b6
gstreamer: format: Implement some more conversion traits
...
Specifically, `From<$formatted_type> for $inner` and
`TryFrom<$formatted_type> for usize` for some types.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/492
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1329 >
2023-10-25 12:09:45 +03:00
Sebastian Dröge
414019af21
gstreamer: Implement Default
trait for AllocationParams
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1328 >
2023-10-24 15:04:14 +00:00
Sebastian Dröge
a04ed127af
gstreamer: Fix API typo in owned ReferenceTimestampMeta
reference getter
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1325 >
2023-10-16 15:45:12 +03:00
Sebastian Dröge
5312131069
gstreamer: Simplify MetaAPIExt
trait implementation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1325 >
2023-10-16 15:19:52 +03:00
Sebastian Dröge
62f58620b7
gstreamer: Add accessors for PadProbeData
s on PadProbeInfo
...
And make use of it in examples and other code.
This allows to simplify usage a bit in most cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1324 >
2023-10-16 11:28:18 +03:00
Sebastian Dröge
547cfb44e2
gstreamer: Simplify Element::element_class()
implementation a bit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1322 >
2023-10-11 16:06:20 +03:00
Sebastian Dröge
3f16233a01
gstreamer: Add DeviceProviderClassExt
extension trait for class methods
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1322 >
2023-10-11 16:06:16 +03:00