Commit graph

503 commits

Author SHA1 Message Date
Vivia Nikolaidou
b230d8aab6 examples, video: Use .into() instead of gst::Fraction::new()
Simplifies the code
2022-10-14 16:26:00 +03:00
Vivia Nikolaidou
6d4ad712c7 examples, audio, pbutils, video: Use AudioCapsBuilder and VideoCapsBuilder
Simplify caps creation code
2022-10-14 13:59:51 +03:00
Sebastian Dröge
7d10f9f4c8 Regenerate with latest gir/gir-files 2022-10-12 15:05:07 +03:00
François Laignel
8e2c621a9f gst/lib: cleanup format re-exports 2022-10-10 15:10:10 +02:00
Sebastian Dröge
f17781e188 Change *Impl trait methods to only take &self and not Self::Type in addition 2022-10-10 15:01:07 +03:00
Sebastian Dröge
dcd53bd16e Regenerate with latest gir 2022-10-07 20:30:24 +03:00
Sebastian Dröge
dec112d0a8 Regenerate with latest gir/gir-files/gst-gir-files 2022-09-13 12:13:07 +03:00
François Laignel
f014505e1c regen: rename feature 'ser_de' as 'serde' 2022-09-12 19:36:32 +02:00
François Laignel
069c6a2c01 Rename feature 'ser_de' as 'serde'
When I introduced the 'ser_de' feature, I couldn't find a way to
name it 'serde' while also make it pull the optional 'serde'
crate together with the other related dependencies.

With rustc >= 1.60 we can use 'dep:serde' to refer to the 'serde'
dependency as part of the 'serde' feature.
2022-09-12 19:36:30 +02:00
Sebastian Dröge
efe13948cc ci: Update gst-gir-files and bring autogenerated code in sync 2022-09-04 20:51:07 +03:00
Sebastian Dröge
44d899a0eb Regenerate with latest gir / gir-files / gst-gir-files 2022-08-31 11:13:08 +03:00
Sebastian Dröge
f65d410fc5 gstreamer-video: Add bindings for VideoInfo::in_info() / out_info() 2022-08-19 19:45:30 +03:00
Sebastian Dröge
76f01516e3 Regenerate with latest GStreamer gir files 2022-08-19 19:42:05 +03:00
Sebastian Dröge
fbad0fd0bc Regenerate with latest gir / gir-files / gst-gir-files 2022-08-14 14:02:50 +03:00
Guillaume Desmottes
2dcd5cf9eb as_ptr() and as_mut_ptr() accessors are safe
Nothing unsafe about getting a pointer, deferencing it is unsafe.
2022-08-12 08:29:49 +02:00
Vivia Nikolaidou
7a9537c0fd audio, video: Default values in caps builders
AudioCapsBuilder::new() will have the default values for
rate/channels/layout/format. Similarly, VideoCapsBuilder::new() will
have the default values for format/width/height/framerate.
2022-08-09 15:00:54 +03:00
Vivia Nikolaidou
751a5b4788 gstreamer-video: Add tests for previous/next fraction 2022-07-20 11:06:21 +00:00
Vivia Nikolaidou
32fbb04fa4 gstreamer-video: Add VideoCapsBuilder 2022-07-20 11:06:21 +00:00
Sebastian Dröge
8cb13ac752 video: Add new Colorimetry::is_equivalent() 2022-07-18 13:25:48 +03:00
Sebastian Dröge
b5920ee729 Regenerate with latest gir 2022-07-18 13:25:36 +03:00
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
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