Sebastian Dröge
58ea85c52c
gstreamer: Allow returning Handled
from BufferList
pad probes
...
This is handled exactly the same way as buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1176 >
2022-12-27 12:28:09 +02:00
Sebastian Dröge
913dfdcdfc
Update CHANGELOG.md for 0.19.4
2022-12-16 11:43:16 +02:00
Sebastian Dröge
9520f2da0e
Update versions to 0.19.4
2022-12-16 11:40:57 +02:00
Sebastian Dröge
bb90b58547
Fix various new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1168 >
2022-12-16 09:22:59 +02:00
Sebastian Dröge
dbd9447a26
Regenerate with latest gir / gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163 >
2022-12-12 13:25:01 +02:00
Sebastian Dröge
a8dd4aa165
gstreamer: Add DebugCategory::above_threshold()
to check if the category's threshold is above the given level
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163 >
2022-12-12 13:22:45 +02:00
Sebastian Dröge
2cf5347d1b
gstreamer: Reduce some code duplication in the logging code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163 >
2022-12-12 13:17:35 +02:00
Sebastian Dröge
8c6758f4a4
gstreamer: Add bindings for new 1.22 debug log ID API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163 >
2022-12-12 13:17:21 +02:00
Sebastian Dröge
7fcd2f0cf6
gstreamer: Directly use fields for DebugCategory
getters
...
This allows for better optimizations as it doesn't go through an opaque
FFI function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163 >
2022-12-12 13:17:15 +02:00
Sebastian Dröge
d5e58d2dd4
gstreamer: Ignore EventType::to_sticky_ordering
...
This is handled manually via the `PartialOrd` impl.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1163 >
2022-12-12 13:16:51 +02:00
Sebastian Dröge
2fe30fb166
Update versions to 0.19.3
2022-11-28 10:14:29 +02:00
Sebastian Dröge
7f1f7f4d67
Update CHANGELOG.md for 0.19.3
2022-11-28 10:14:29 +02:00
Sebastian Dröge
51c8a12f35
gstreamer: Add PartialEq
impls between owned/borrowed miniobjects/structures
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1158 >
2022-11-27 19:54:18 +02:00
Sebastian Dröge
40143109da
gstreamer: Fix sticky event ordering for instant-rate-change
...
The event type for instant-rate-change events was poorly chosen, leading
to them being re-sent too late and even after EOS.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3387
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1158 >
2022-11-27 19:53:39 +02:00
Sebastian Dröge
1087b63ac4
Regenerate with latest GStreamer gir files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1158 >
2022-11-27 19:53:25 +02:00
Sebastian Dröge
048693202c
gstreamer: Implement FromIterator<Caps>
and Extend<Caps>
for Caps
...
This allows easily generating new/extending existing caps from an
iterator.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1158 >
2022-11-27 19:50:57 +02:00
Sebastian Dröge
056b0df294
Update CHANGELOG.md for 0.19.2
2022-11-13 19:50:21 +02:00
Sebastian Dröge
bfa468e87f
Update versions to 0.19.2
2022-11-13 19:45:33 +02:00
Sebastian Dröge
38dfe1596d
Regenerate with latest gir
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1147 >
2022-11-12 17:38:39 +02:00
Elie Génard
250a65f02d
gstreamer: Add gst::Allocator
subclassing support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1147 >
2022-11-12 17:34:25 +02:00
Sebastian Dröge
784c44b947
gstreamer: Manually implement Allocator::register()
...
Due to a bug it causes use-after-free in versions < 1.20.5, so work
around that here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1147 >
2022-11-12 17:34:11 +02:00
Sebastian Dröge
41c2a2d4af
Fix various new clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1147 >
2022-11-12 17:33:04 +02:00
Sebastian Dröge
f440534c6d
Fix 0.19.1 release date in the changelog
2022-10-24 12:34:05 +03:00
Sebastian Dröge
a6a168d200
Update CHANGELOG.md for 0.19.1
2022-10-24 12:32:29 +03:00
Sebastian Dröge
20120fda3d
Update versions to 0.19.1
2022-10-24 11:23:00 +03:00
Sebastian Dröge
f60dfebe07
Update GLib dependency to 0.16.2
2022-10-24 10:55:34 +03:00
Sebastian Dröge
d1029e374a
Move from imp.instance()
to imp.obj()
...
It's doing the same thing and is shorter.
2022-10-24 10:47:25 +03:00
François Laignel
2bec28e920
gst/log: accept non-ref obj in macros
2022-10-24 10:46:54 +03:00
Sebastian Dröge
83d5efbeb4
Add version requirement to the sys dependency of each crate too
2022-10-22 21:11:51 +03:00
Sebastian Dröge
09c89aec91
Switch to 0.16 version of gtk-rs and provide a version/branch
2022-10-22 20:24:47 +03:00
Sebastian Dröge
7331dbc440
Update CHANGELOG.md for 0.19.0
2022-10-22 20:22:10 +03:00
Sebastian Dröge
bf7c770457
Regenerate with latest gir files
2022-10-22 20:22:10 +03:00
Sebastian Dröge
a1165a7456
gstreamer: Add bin/pipeline builders
...
And also implement the Default trait for them.
2022-10-22 17:36:36 +03:00
François Laignel
0e5a4f05f8
gst: fix Element::request_new_pad
signature
...
See:
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1133#note_1600152
2022-10-21 11:30:02 +02:00
François Laignel
4ebdfb8602
Use impl Into<Option<_>>
for functions impacted by nullability fixes
...
This commit addresses the functions which signatures changed in
commit f9690817
so that users can still use e.g.
`query.set_result(val)` instead of `query.set_result(Some(val))`.
See [1] for an attempt at generalizing this approach.
[1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1133
2022-10-21 11:30:02 +02:00
Sebastian Dröge
130cc9d63b
element: Implement linking functions manually for better error reporting
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/318
2022-10-19 17:59:04 +03:00
Sebastian Dröge
7423b1dea6
elementfactory: Change make()
/ create()
to builders and keep the old variants as create_with_name()
/ make_with_name()
...
As a side-effect, this also now includes the element factory name in the
error messages instead of giving the same error string for every
factory.
Partially fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/318
Also let them all go through the same, single object construction code.
2022-10-19 17:48:39 +03:00
Sebastian Dröge
7ad75d4b1f
elementfactory: ElementFactory::create_with_properties() is available in any GStreamer version
...
As it's re-implemented here now instead of calling into the C function.
2022-10-19 13:53:06 +03:00
Sebastian Dröge
9c282ec7c3
gstreamer: Implement ElementFactory::create_with_properties() manually
...
This way we can get the same property checks as normal object
construction would provide.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/402
2022-10-18 16:27:10 +00:00
Sebastian Dröge
67e3183922
Regenerate with latest gir and gir-files
2022-10-18 18:16:51 +03:00
Sebastian Dröge
19f7aaf413
Generate only a single versions file for sys crates too
2022-10-18 18:15:01 +03:00
Sebastian Dröge
9a9ce252a4
Fix usage of dox feature
2022-10-18 18:15:01 +03:00
Sebastian Dröge
d80227e566
Trust nullability annotations everywhere
2022-10-18 18:15:01 +03:00
Sebastian Dröge
f9690817ad
Fix nullability handling in some functions in manual code
2022-10-18 18:15:01 +03:00
Vivia Nikolaidou
8d3ada5d89
pad: Catch panics in pad task functions
...
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/246
2022-10-18 10:38:12 +00:00
François Laignel
49faa03c98
gst/format: make from_u64
constructors const
...
This commit makes the formatted values' main constructors `const`,
so that they can be used in constant definitions.
`from_usize` constructors can't be made const because `try_into`
can't be used in `const` functions as of rustc 1.64.0. Same for
`Percent::from_ratio`: floating point arithmetic is not allowed.
2022-10-18 11:24:57 +02:00
François Laignel
384783b242
gst/format: introduce Constructor traits
...
Introduce a set of Constructor traits which are implemented on
integer of float depending on the formatted values. This traits
allows building formatted values using expressions such as:
```rust
let buffer_nb = 20.buffers();
let size = 42.k_bytes();
let duration = 15.minutes() + 30.seconds();
let quantity = 42.default_format();
let progress = 20.percent();
let progress = 0.2.percent_ratio();
```
2022-10-18 11:24:08 +02:00
Vivia Nikolaidou
39bb9abc3c
caps: Add .structure() to CapsBuilder
...
Allows us to get the structure, to read fields after adding them to the
builder.
2022-10-14 16:24:51 +03:00
Sebastian Dröge
734afa998b
gstreamer: Implement pad default functions as associated functions
...
Making them associated functions clearer that special care is required
and avoid conflicts with the same functions in ghostpad/proxypad.
2022-10-12 18:29:52 +03:00
Sebastian Dröge
7d10f9f4c8
Regenerate with latest gir/gir-files
2022-10-12 15:05:07 +03:00