François Laignel
fe319af598
Implement FormattedValue on any candidate type
...
The trait FormattedValue was only implemented on types which
could implement the full range of values for a Format. In order
to declare a function which could take both the intrinsic type
of any Format (e.g. `ClockTime`) as well the full range of values
(e.g. `Option<ClockTime>`), the argument was declared:
```rust
impl Into<GenericFormattedValue>,
```
This commit implements `FormattedValue` for any type representing
a format. E.g.: both `ClockTime` and `Option<ClockTime>` will now
implement `FormattedValue`. The trait `FormattedValueFullRange`
is implemented on types which can be built from any raw value.
These changes are intended to help for the implementation of a
means to enforce format conformity at compilation time for
functions with multiple formatted value arguments.
The following signatures were found to be incorrect and are fixed:
- `message::StepDone`: forced the type for `amount` and `duration`
to be of the same type, when `duration` is expected to be of the
`Time` format.
- `query::Convert::set`: the two arguments were forced to the same
type, so potentialy the same format, unless a
`GenericFormattedValue` was used.
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1059
2022-07-11 19:45:52 +02:00
Sebastian Dröge
4dade30f0d
Fix/silence a couple new clippy warnings
2022-06-30 13:08:33 +00:00
Sebastian Dröge
07562c592f
video: Add bindings for is_common_aspect_ratio()
2022-06-30 08:46:06 +03:00
Sebastian Dröge
90aaa32957
Regenerate
2022-06-30 08:46:06 +03:00
Sebastian Dröge
c9d07219c8
Store whether GStreamer was initialized in an AtomicBool
...
Avoids a function call in the normal case.
2022-06-27 10:28:28 +03:00
Sebastian Dröge
d4430ecc6a
Implement more iterator functions / traits in custom iterators for efficiency reasons
2022-05-22 12:42:42 +03:00
Philippe Renon
8f1c94f45d
Regenerate with latest gir
2022-05-20 17:48:40 +02:00
Guillaume Gomez
c1d3ed5eac
Use IntoGlibPtr trait instead of implementing into_ptr
2022-05-07 13:38:11 +02:00
Vivienne Watermeier
1b22be2e15
Add De/Serialization for most bitflag types
...
Represents combinations of flags with a '+' separated string of nicks,
or an empty string for no flags set.
Note that most flag types will ignore any flags using multiple bits when
serializing, since in most cases these flags cover all used bits.
2022-05-06 09:05:52 +00:00
Sebastian Dröge
a34bc85ca1
video: Don't change the VideoOverlayComposition
constructor API based on feature flags
...
Feature flags are additive and a higher feature might be enabled by some
other dependency, which then can cause code that assumes the other API
fail to compile.
Still implement the constructor separately per version to make it clear
to the compiler that the constructor can't fail at all in newer
versions.
2022-05-06 11:01:02 +03:00
Sebastian Dröge
a16c3888e5
Return base class pads by reference instead of strong reference
...
Avoids unnecessary reference counting and the caller can get a strong
reference easily by calling clone().
2022-05-05 14:18:03 +03:00
Mathieu Duponchelle
80b0b378fc
base classes: expose accessors for static pads
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1023 >
2022-05-04 17:15:07 +02:00
Sebastian Dröge
b50a7993de
video: Add bindings for VideoFormatInfo::tile_sizes()
2022-05-03 15:41:54 +03:00
Sebastian Dröge
4a28a188d9
Regenerate with latest gir/gir-files
2022-05-03 15:37:25 +03:00
Vivienne Watermeier
61a3f5296c
video: Fix de/serialization for empty modifier states
...
Empty modifier states are now de/serialized from/to the empty string;
This also adds more thorough testing for deserializing.
2022-04-14 18:19:56 +02:00
Vivienne Watermeier
3b18f10342
video: Implement De/Serialization for NavigationModifierType
...
Modifier state is represented by a "+" separated list of lowercase flag
names, or "empty" for no flags.
2022-04-13 14:29:45 +02:00
Sebastian Dröge
4651c9db4d
Update minimum supported version to 1.14
...
This is the version that is available in Ubuntu 18.04.
2022-04-07 12:45:47 +03:00
Sebastian Dröge
5052a93ee3
Fix macOS instructions in other READMEs too
2022-04-07 11:35:40 +03:00
Sebastian Dröge
b36b63c60a
Regenerate with latest gir files
2022-04-06 09:38:34 +03:00
Vivienne Watermeier
d5e4705605
video: Add builders for navigation events
2022-04-05 19:49:05 +00:00
Vivienne Watermeier
1274a59472
video: update navigation API for recent changes
...
Add support for the new send_event_simple and event_get/set_coordinates
functions, as well as touchscreen events and modifier state. See:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1633
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2010
2022-04-05 19:49:05 +00:00
Sebastian Dröge
23e4d1efa8
Regenerate with latest GStreamer gir files
2022-04-05 19:49:05 +00:00
Sebastian Dröge
eed648831d
video: Add various VideoFormatInfo/VideoInfo/VideoFrame helper API
2022-04-04 15:50:09 +03:00
Sebastian Dröge
8908d4bc98
video: Add subclassing bindings for VideoAggregatorConvertPad
2022-04-01 11:04:08 +03:00
Jan Alexander Steffens (heftig)
44b2eba600
Update gir
2022-03-30 22:36:53 +02:00
Sebastian Dröge
c251ca5bc3
video: Add subclass bindings for VideoAggregator
2022-03-22 19:00:32 +02:00
Sebastian Dröge
fbe0728da5
video: Add bindings for VideoAggregator
2022-03-22 19:00:32 +02:00
Sebastian Dröge
215cdfd548
video: Allow converting a VideoFrame
into an FFI GstVideoFrame
2022-03-22 19:00:32 +02:00
Sebastian Dröge
609a744d6c
Regenerate autogenerated bindings
2022-03-17 18:05:13 +02:00
Sebastian Dröge
3fbe37a2ec
video: Add VideoFormatInfo::extrapolate_stride()
2022-03-17 18:05:13 +02:00
Sebastian Dröge
faa1311fcd
video: Add VideoFormatInfo::has_subtiles()
2022-03-17 11:06:26 +02:00
Sebastian Dröge
3080c37897
video: Ignore new navigation event constructors
...
And add doc aliases for the already existing manual implementations of
them.
2022-03-17 11:06:26 +02:00
Sebastian Dröge
54440e47df
Add v1_22 Cargo feature and map to the correct pkg-config version
2022-03-17 11:06:26 +02:00
Sebastian Dröge
4b3362039e
Use SPDX license format in Cargo.toml
2022-03-14 10:21:49 +02:00
Christian Meissl
240da14042
Drop extraneous extra_versions that already fall under min_cfg_version
2022-03-12 14:19:40 +00:00
Sebastian Dröge
bf660cf22a
Update minimum supported Rust version to 1.57
2022-02-22 00:00:39 +02:00
Marijn Suijten
2426d7ce8c
Revert "sys: Link all v1_20 sys crates against library 1.19" - use 1.20
...
This reverts commit 8226c94110
.
Now that GStreamer 1.20 is out, the v1_20 feature can and should link
directly to the stable release instead of the unstable 1.19 development
release.
2022-02-18 11:30:08 +01:00
Sebastian Dröge
0173b73170
Handle empty slices correctly
...
Passing `NULL` to `slice::from_raw_parts` is invalid.
2022-02-07 12:50:37 +02:00
Christian Meissl
8ae97b8c64
fix readme doc links
2022-02-04 14:22:17 +01:00
Sebastian Dröge
47ae1c8658
Regenerate with latest gir files
2022-02-04 12:35:01 +02:00
Sebastian Dröge
4956346b23
video: Allow getting an owned reference to the input buffer from a video codec frame
2022-02-02 00:54:06 +02:00
Sebastian Dröge
deced8b3b8
Regenerate with latest GStreamer gir files
2022-01-29 18:17:26 +02:00
Sebastian Dröge
60cd874db7
video: Add VideoOverlayComposition::add_rectangle()
to add new rectangles after construction
...
Usually it is more convenient to provide them all via an iterator during
construction but in some cases this might be nicer.
2022-01-26 13:04:08 +02:00
Sebastian Dröge
52e09fd83d
video: Implement Default
for VideoOverlayComposition
in 1.20
2022-01-26 13:04:08 +02:00
Sebastian Dröge
26f2ed30ae
Regenerate with latest gst-gir-files
2022-01-25 13:10:58 +02:00
Sebastian Dröge
06cf5de45f
Get rid of fragile dependency and use GLib API instead
2022-01-24 19:33:15 +02:00
Sebastian Dröge
13eb483444
Regenerate everything with latest gir
2022-01-24 19:29:18 +02:00
Sebastian Dröge
5e2249d368
message/query/event: Implement views in a more consistent way
...
Co-authored-by: Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
2022-01-19 13:29:59 +02:00
Sebastian Dröge
ee9157a239
video: Mark VideoTimeCode
as #[repr(transparent)]
2022-01-17 18:04:40 +00:00
Sebastian Dröge
971f35754c
Change default branch from master to main
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/364
2022-01-16 16:15:48 +02:00