François Laignel
8527c0e39e
Add new setters for collection Value setters in Builders
...
E.g. (also applies to `property`):
* `field_from_iter()`,
* `field_if_not_empty()`.
Use a macro to factorize implementation & documentation of `field` / `property`
convenience setters.
Also:
* add some `*_if_not_empty` for some iterator based setters.
* add `*_if` for predicate based setters.
Related to https://github.com/gtk-rs/gtk-rs-core/pull/1377
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1431 >
2024-06-14 17:00:36 +02:00
Bilal Elmoussaoui
4ebec84f5e
Adapt to no longer renamed ffi crates
...
Allows us to set all the crates in the main workspace file, so changing
their versions or branch is much simpler and reduce the amount of noise
in the diff
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1450 >
2024-06-02 11:20:55 +02:00
François Laignel
ea25c9262b
Add field_if_some setter for builders
...
This commit adds `_if_some()` variants for builder field setters.
The variants aim at improving usability when setting optional fields.
E.g. currently, we need to write something like:
```rust
let opt_value = ...;
let mut sb = gst::Structure::builder("test")
.field("mandatory_field", "mandatory");
if let Some(value) = opt_value
sb = sb.field("optional_field", value);
}
let s = sb.build();
```
With `_if_some()`, this can be written like this:
```rust
let opt_value = ...;
let s = gst::Structure::builder("test")
.field("mandatory_field", "mandatory")
.field_if_some("optional_field", opt_value)
.build();
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1424 >
2024-04-17 17:15:39 +02:00
Sebastian Dröge
43c82da25a
rtsp-server: Add builder API for RTSPToken
for consistency with Structure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1421 >
2024-04-09 06:27:14 +00:00
Sebastian Dröge
37bfb78fdc
Change some assertions to debug assertions
...
These assertions can only trigger because of bugs in the bindings
implementation or in the C code and not because of bugs in calling code,
so using debug assertions is perfectly fine for them and reduces the
number of assertions inlined everywhere in release builds.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1188 >
2023-01-14 17:13:46 +02:00
Sebastian Dröge
567ce0a3bf
Group and merge imports in all manual code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1182 >
2023-01-04 13:25:17 +02:00
Sebastian Dröge
f9690817ad
Fix nullability handling in some functions in manual code
2022-10-18 18:15:01 +03:00
Marijn Suijten
540062b97c
Add missing doc aliases to manual code
...
Using the same script as [1], called with:
python3 add_doc_alias.py gstreamer*/**/src
[1]: https://github.com/gtk-rs/gtk-rs-core/pull/83
2021-05-19 22:36:18 +02:00
François Laignel
49583597ed
manual code: fix-getters-def doc aliases
2021-05-03 20:46:57 +02:00
Sebastian Dröge
eda1d3d4a7
Update for Value trait refactoring
2021-04-25 14:45:08 +03:00
François Laignel
e80a29372a
fix-getters-def 0.3.0 pass
2021-04-20 18:18:02 +02:00
François Laignel
53be8e5f58
fix-getters-{def,calls} pass
2021-04-13 17:54:40 +02:00
Sebastian Dröge
53aae7ddba
Remove gst_ prefix from all macros except for the logging macros
...
The latter stay e.g. gst_debug! to be more clear and not conflict with
e.g. the debug! macro from the log crate.
2020-12-20 19:40:34 +02:00
Guillaume Gomez
ff5a36561a
Fix license header situation
2020-12-15 11:53:31 +01:00
Sebastian Dröge
1099955249
gstreamer-rtsp-server: Update manual code to 2018 edition
2020-11-22 19:15:21 +02:00
Sebastian Dröge
af01f1bc67
gstreamer: Simplify MiniObject bindings by removing one layer of abstraction
...
And instead directly implementing this via the macro on the target
types.
2020-06-30 11:06:02 +03:00
Guillaume Gomez
c07fe14191
gstreamer*: Add missing init checks
2020-04-12 17:25:54 +03:00
Sebastian Dröge
d1e562b9f6
Explicitly add dyn
keyword to trait objects
...
Trait objects without are deprecated with the latest nightly and this
makes it more clear that we're doing dynamic dispatch anyway.
2019-06-06 09:09:34 +03:00
Sebastian Dröge
e7898c1b24
Update manual code
2019-04-15 19:19:19 +03:00
Sebastian Dröge
1a53983b3b
Properly implement gst_rtsp_server::RTSPToken bindings
...
We can now properly implement miniobject bindings outside the main
trait.
2018-12-08 11:49:45 +02:00
Sebastian Dröge
694bcaa697
Fix all clippy warnings
...
Or silence the ones we don't care about.
2018-07-20 10:28:20 +03:00
Sebastian Dröge
2cefd9aea6
Re-run everything through rustfmt
2018-04-25 11:13:14 +03:00
Sebastian Dröge
2d260b4f0c
Rename manual files with too many underscores
2018-04-23 20:45:15 +03:00