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
Bilal Elmoussaoui
8cf099f0ab
Seal manual traits
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1292 >
2023-07-06 14:21:45 +03:00
François Laignel
13f0483a44
gst: Manually impl Bin & Pipeline constructors
...
Set `Bin` & `Pipeline` constructors to manual implementation to remove
optional `name` argument (use builder to specify name).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1255 >
2023-05-12 10:55:46 +00:00
Sebastian Dröge
91eec7a33f
Migrate everything to object lock API instead of custom GMutex
handling
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1212 >
2023-02-06 10:50:33 +02:00
Sebastian Dröge
478606e44c
Use glib::Object::new()
instead of new_default()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1209 >
2023-01-31 12:05:53 +02:00
Sebastian Dröge
d5e24b9fbd
Update various object construction functions to more efficient approaches
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1196 >
2023-01-22 09:48:51 +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
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
49583597ed
manual code: fix-getters-def doc aliases
2021-05-03 20:46:57 +02:00
Bilal Elmoussaoui
890cd03632
manual renames of to_glib into into_glib
2021-04-27 19:44:41 +02:00
Sebastian Dröge
1d59ea91c5
Clean up various imports everywhere
2021-04-26 15:16:58 +03:00
François Laignel
53be8e5f58
fix-getters-{def,calls} pass
2021-04-13 17:54:40 +02:00
Guillaume Gomez
ff5a36561a
Fix license header situation
2020-12-15 11:53:31 +01:00
Sebastian Dröge
9d9522016b
gstreamer: Update manual code to 2018 edition
2020-11-22 19:15:20 +02:00
Vivia Nikolaidou
496fc61873
pipeline: Add to lib.rs
2019-05-12 16:41:18 +03:00
Vivia Nikolaidou
1a65c674a9
Add unset_*_flags functions
...
Implemented for element, object, pad, and pipeline
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/104
2019-05-11 15:51:33 +03:00
Vivia Nikolaidou
6403c06990
Add API for setting/getting object flags
...
Implemented for Object, Pipeline, Bin, Element, Plugin.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/104
2019-05-11 13:13:33 +03:00
Sebastian Dröge
43ec33a1db
Remove some code that is nowadays generated by the glib_wrapper! macro
2019-01-16 15:23:53 +02:00
Sebastian Dröge
97211e869b
Port Pipeline subclassing
2018-11-21 16:14:06 +02:00