Commit graph

790 commits

Author SHA1 Message Date
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 35c6af424d Update minimum supported Rust version to 1.63 2022-09-04 10:37:13 +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
Tomasz Andrzejak 2090452e3d Update minimum supported rust version 2022-07-14 15:23:34 +02: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 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
Sebastian Dröge 7444975421 Update versions to 0.19.0 2022-01-15 20:21:53 +02:00
Sebastian Dröge 605c633579 Ignore clippy::non_send_fields_in_send_ty lint
It's useless in its current shape and wrongly triggering on all types.

See https://github.com/rust-lang/rust-clippy/issues/8045
2022-01-13 23:38:11 +02:00
Sebastian Dröge 9eb479cf78 Regenerate everything 2022-01-12 15:40:36 +02:00
Sebastian Dröge 6d63180bfc Update for glib::Quark API changes 2022-01-11 12:50:13 +02:00
Guillaume Gomez 27dd305cb4 Regen to get #[must_use] attributes generated 2022-01-04 19:02:58 +01:00
Thibault Saunier 1dae136ae3 navigation: Add a method to get the GstStructure from NavigationEvent
The `GstNavigationInterface` requires to pass a GstStructure to it
`send_event()` method, so it makes sense to allow getting that structure
without building the navigation event itself
2021-12-29 16:15:57 +00:00
Sebastian Dröge bbcd221e8d Change from impl_() to imp() 2021-12-28 17:50:06 +02:00
Thibault Saunier fc452036d2 navigation: Add support for event creation and simplify the API
And also allow implement serialization with serde (behind a feature) to
allow sending navigation event through the network (for example from a
browser with a WebRTC data channel).
2021-12-24 14:19:08 -03:00
Thibault Saunier 56dfe0fe59 video: Add GstNavigation interface "subclassing" support 2021-12-24 14:18:52 -03:00
Sebastian Dröge 1e18c59d2a Implement glib::ValueTypeOptional for various types 2021-12-16 17:40:39 +00:00
Luca BRUNO c30eff771a
Regenerate with latest gir (gboolean return codes) 2021-12-14 11:43:30 +00:00
Sebastian Dröge 9bf5f641ff Regenerate with latest gir 2021-12-12 17:54:20 +02:00
Luca BRUNO d1cc8d1298
Regenerate with latest gir (assert safe gerror) 2021-12-07 12:07:45 +00:00
Sebastian Dröge 5a75f3bf8e Don't post error messages in subclasses on propose/decide_allocation() errors and BaseParse::set_sink_caps()
Instead just log the error and return false.
2021-12-06 18:41:39 +02:00
Sebastian Dröge ee1a5e8395 Add #[must_use] attribute to many builders 2021-12-04 10:26:08 +02:00
Sebastian Dröge 8f3ed6d289 Add checks for the Gir.tomls
... and fix all the failures.
2021-12-03 20:27:50 +00:00
Sebastian Dröge f6dc14b946 Add a few missing docs aliases for constants 2021-12-03 10:19:22 +02:00
Bilal Elmoussaoui 86b07ce5b9 regen per emit_by_name changes 2021-11-21 09:35:36 +01:00
Sebastian Dröge 3b28bccf03 Update for GLib constructor renames
See https://github.com/gtk-rs/gtk-rs-core/pull/384
2021-11-20 12:20:17 +02:00
Sebastian Dröge 7c1ed9ff4d Regenerate with latest gir
Updates to use system-deps 6
2021-11-18 16:32:17 +02:00
Bilal Elmoussaoui 8faaf8a629 rename ffi crates on Cargo.toml 2021-11-17 12:00:06 +01:00
Bilal Elmoussaoui e61b83f592 regenerate with not renamed libs on ffi crates 2021-11-17 12:00:06 +01:00
Sebastian Dröge e74f54a64f Regenerate with latest gst-gir-files 2021-11-16 20:18:31 +02:00
Bilal Elmoussaoui 0d391d5031 regenerate with latest gir 2021-11-16 15:47:44 +01:00
Sebastian Dröge 6527ffbce0 video: Rename videometa flags getter to video_frame_flags() to distinguish it from the meta flags 2021-11-16 13:18:25 +02:00
Sebastian Dröge 1eba9b64e5 video: Add bindings for ColorBalance / ColorBalanceChannel 2021-11-15 20:38:06 +00:00
Sebastian Dröge dd9e12822f Regenerate with latest gir 2021-11-13 11:05:09 +02:00
Bilal Elmoussaoui d788a10856 re-generate with per crate min version 2021-11-11 12:26:29 +01:00
Bilal Elmoussaoui 213020165a manual changes post ObjectExt improvements 2021-11-08 14:42:59 +01:00
Bilal Elmoussaoui 0d009bca31 regen with latest gir 2021-11-08 14:42:59 +01:00
Sebastian Dröge 220c500799 gstreamer: Add numer()/denom() functions to gst::Fraction to get the values by value instead of reference 2021-11-06 00:23:07 +02:00
Sebastian Dröge a3015ab507 gstreamer: Refactor gst::IntRange constructors to not require specifying the contained type necessarily 2021-11-06 00:23:07 +02:00
Sebastian Dröge 9901f0c6a2 gstreamer: Refactor gst::Array / gst::List bindings to work correctly with the refactored traits in glib
Also allow only a single type inside them.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/360
2021-11-06 00:23:07 +02:00
François Laignel 82b7239379 regen: NONE as associated consts 2021-11-04 18:42:06 +01:00
Sebastian Dröge cdfe4b3d67 Remove unneeded std::convert::TryFrom/TryInto and std::str::FromStr imports 2021-10-31 18:20:31 +02:00
Sebastian Dröge d785bf8c3a Regenerate with latest gir 2021-10-31 11:47:34 +02:00
Sebastian Dröge c00a97f5ec Update to Rust edition 2021 and minimum supported Rust version 1.56
Also update CI image to use meson 0.60.
2021-10-31 11:47:34 +02:00
Sebastian Dröge e657e676d5 Relax main context checks in Bus::add_local() and gst_video::convert_sample_async_local() 2021-10-25 09:54:33 +00:00
Sebastian Dröge 92f9f3be39 Remove various unnecessary & from property/structure field related code 2021-10-24 20:52:23 +03:00
Sebastian Dröge b4a3738b82 Move more code to caps/structure builders
Instead of the new() functions requiring slices. The code reads cleaner.
2021-10-24 18:57:15 +03:00
Sebastian Dröge 12fec484c7 Simplify IsSubclassable trait impls 2021-10-23 11:27:46 +03:00
Sebastian Dröge febd0ee144 Declare the minimum supported Rust version in Cargo.toml 2021-10-18 19:30:37 +03:00
Sebastian Dröge 3d39faac28 video: Implement non-fallible constructor and FromIterator for VideoOverlayComposition when building for 1.20
Previous versions needed at least one rectangle for successfull
construction.
2021-10-17 12:33:29 +03:00
Sebastian Dröge 7037f6d836 video: Rename VideoOverlayComposition iterator struct 2021-10-17 11:24:33 +03:00
Sebastian Dröge 219616ced0 video: Implement iterator for VideoOverlayComposition 2021-10-16 21:07:13 +03:00
Sebastian Dröge f6cf6c8863 Improve subclass decide_allocation() / propose_allocation() API
The queries passed in are always allocation queries, so don't require
implementors to match on that first.
2021-10-16 14:24:08 +03:00
Sebastian Dröge 6e6f5108a9 video: Add VideoDecoderImpl::handle_missing_data() 2021-10-08 19:51:52 +03:00
Sebastian Dröge 1c7b4516f9 Regenerate everything with latest GStreamer gir files 2021-10-08 19:44:38 +03:00
Sebastian Dröge 71e58bfec2 Add some newly added API 2021-10-08 19:43:47 +03:00
Sebastian Dröge c4cbcecc7c Regenerate everything 2021-09-28 18:11:20 +03:00
Sebastian Dröge baccf52e43 Regenerate with latest gir 2021-09-28 15:46:37 +03:00
Sebastian Dröge f5f5fae815 Regenerate with latest gir and gtk-rs gir-files 2021-09-28 12:55:58 +03:00
Sebastian Dröge e5977c2d20 video: Use nested [[f32; 4]; 4] slices for the affine transformation meta instead of [f32; 16] 2021-09-25 15:16:53 +03:00
Sebastian Dröge 4e235b0492 video: Add support for static HDR metadata
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/270
2021-09-25 14:49:33 +03:00
Sebastian Dröge c2a2549b66 video: Automatically derive Copy/Clone for more structs 2021-09-25 14:32:43 +03:00
Sebastian Dröge 14edcf9aaf Regenerate with latest gir 2021-09-22 12:02:53 +03:00
Marijn Suijten 226419003d Use impl for some Into* trait bounds 2021-09-21 23:54:11 +02:00
Marijn Suijten 13165938ab Regen 2021-09-20 20:38:25 +02:00
Marijn Suijten e2a9f83f5b gir: Update and regenerate with impl Trait instead of named types
https://github.com/gtk-rs/gir/pull/1153
2021-09-20 20:19:04 +02:00
Sebastian Dröge a1c4a58180 Bind various new API 2021-09-19 13:12:58 +00:00
Sebastian Dröge 4b8f85c4c6 Regenerate with new gir and gir files 2021-09-19 13:12:58 +00:00
Sebastian Dröge 9f1b8f6165 gstreamer-video: Add support for VideoCodecAlphaMeta 2021-09-19 14:51:46 +03:00
Marijn Suijten a208919c88 video/video_rectangle: Mark struct as repr(C) for FFI transparency
This struct is "reimplemented" to make it easier to access the fields
instead of going through `ffi::GstVideoRectangle`, but should be marked
`repr(C)` to remain binary-compatible.
2021-09-04 00:13:24 +02:00
Marijn Suijten 212d4ef008 video/video_rectangle: Add ToGlibPtrMut implementation
Vulkan passes a mutable pointer to an uninitialized `VideoRectangle`
into the C API for retrieval.
2021-09-04 00:13:24 +02:00
Marijn Suijten 430abb1e9d video/video_rectangle: Implement glib::translate::Uninitialized
The new Vulkan bindings require this.
2021-09-04 00:13:24 +02:00
Guillaume Gomez c68b601c74 regen 2021-08-31 15:11:15 +02:00
Marijn Suijten adfb6e35a4 Update gir and regenerate with attributes removed from macro calls
See https://github.com/gtk-rs/gir/pull/1213.
2021-08-30 09:52:36 +02:00
Simonas Kazlauskas 782d84bede Remove the links annotations
The `links` annotation in `Cargo.toml` is intended to ensure that in the
crate graph there's at most one crate that's an implementation of
some sort concept.

This can make sense in some scenarios, most prominent of which is when
the crate defines `#[no_mangle]` symbols (e.g. by compiling a vendored C
library.) In that situation linking a binary that depends on two
versions of the library cannot work because of colliding symbol names.

There does not appear to be a similar reason to impose such a
restriction on the users of `gstreamer-sys` and similar, however. All of
these crates link to a system library, they do not define any
`#[no_mangle]` symbols nor they vendor and build C libraries as part of
their build process. All they do is linking to a system library.  Most
likely all the different versions of the bindings will link to the exact
same library too.

I haven't seen any global resources that these bindings use to ensure
soundness of the library, either.
2021-08-23 16:56:27 +00:00
Marijn Suijten 068b078edf README: Replace shell with console codeblocks 2021-08-18 15:28:00 +02:00
Marijn Suijten 6db5ab5631 */README: Synchronize with root README.md 2021-08-18 15:27:29 +02:00
Guillaume Gomez 26a6fba6e2 regen 2021-08-03 11:55:44 +02:00
Guillaume Gomez e2264a3f3f Fix (new) clippy warnings 2021-08-03 10:08:32 +02:00
Guillaume Gomez a0d82ec741 Merge README files and crate documentation 2021-07-30 20:26:11 +02:00
Sebastian Dröge b1afc4804a Fix various needless-borrow clippy warnings 2021-07-30 13:19:24 +03:00
François Laignel c9b88afcb4 gstreamer-*/CHANGELOG.md use symlinks 2021-06-29 15:45:58 +02:00
Sebastian Dröge a06cf66e6d Update versions to 0.18.0 2021-06-29 00:08:16 +03:00
Sebastian Dröge 35c2086e2a Update CHANGELOG.md for 0.17.0 2021-06-29 00:07:36 +03:00
Sebastian Dröge c0904af4a7 Regenerate with latest gir-files 2021-06-28 18:34:03 +03:00
Sebastian Dröge 9123143b57 Regenerate 2021-06-24 08:58:46 +03:00
Guillaume Gomez dfeb777513 regen 2021-06-21 23:07:45 +02:00
Sebastian Dröge a94d84e780 Silence/fix various clippy warnings 2021-06-20 10:59:49 +03:00
Guillaume Gomez 64d1598336 regen 2021-06-13 20:52:12 +02:00
Sebastian Dröge 0a71e3c8da Regenerate with latest gir 2021-06-10 12:53:52 +03:00
François Laignel aaa9eddc85 video: make nsec_since_daily_jam return ClockTime 2021-06-04 22:09:38 +02:00
François Laignel e31ce9d07b Manual ClockTime updates 2021-06-04 22:09:38 +02:00
François Laignel 8dda8def6e Manual try_from_glib shortcuts + unsafe 2021-06-04 22:09:38 +02:00
François Laignel 03e8e6d22f regen: use TryFromGlib::Option for ClockTime 2021-06-04 22:09:38 +02:00
François Laignel 532af96ef9 Gir.toml: use TryFromGlib::Option for ClockTime 2021-06-04 22:09:38 +02:00
Marijn Suijten 110bfce7e6 video/video_format: Expect a specific panic reason 2021-06-04 11:51:01 +02:00
Marijn Suijten a85b30eacb audio,video: Remove dox feature from function bodies
Now that the crates are generated and linked against v1_20 binaries
there is no need to guard this codepath when building `dox` (which
inherently enables `v1_20` but did previously not actually compile
against that version yet).
2021-06-04 11:51:01 +02:00
Marijn Suijten a828d3cc12 video: VideoChromaSite now has an autogenerated impl Display
Still calls into the manual `fn to_str()`.
2021-06-04 11:51:01 +02:00
Marijn Suijten 8226c94110 sys: Link all v1_20 sys crates against library 1.19 2021-06-04 11:51:00 +02:00
Marijn Suijten 510e4cd2b1 Regenerate with 1.19.1 updates 2021-06-04 11:51:00 +02:00
Marijn Suijten af6efa3efe video/gir: Enable 1.19.1 VideoAggregatorParallelConvertPad generation 2021-06-03 20:36:04 +02:00
Marijn Suijten 899a1f6ea4 video/gir: Enable 1.19.1 VideoDecoderRequestSyncPointFlags generation 2021-06-03 20:36:02 +02:00
Marijn Suijten 3d8d1ffb19 Update gir and regenerate with automated enum/flag member versioning
https://github.com/gtk-rs/gir/pull/1180
2021-06-03 20:33:34 +02:00
Marijn Suijten 9b22b09efe gir: Remove unnecessary member annotations 2021-06-03 20:25:38 +02:00
Marijn Suijten 7fcd560d18 Update gir and regenerate
- Doc aliases for types;
- ffi constants for bitflags too;
- Completely overhauled docs generation under the hood (only emitting
  valid links, more types receive documentation now).
2021-06-02 09:47:51 +02:00
Marijn Suijten 170f7214eb Regen with extended Gir.toml 2021-06-01 13:40:52 +00:00
Marijn Suijten 800ad5fc4a video/gir: Document manually implemented types and functions 2021-06-01 13:40:52 +00:00
Marijn Suijten 1e58dd553c treewide: Add missing external external types to manual list
Gir now uses analyzed objects to generate documentation, and to know
exactly what is available.  Additionally, this allows more bindings to
be generated.
2021-06-01 13:40:52 +00:00
Guillaume Gomez 5ba79976a9 Generate missing doc aliases for newtypes 2021-06-01 15:15:59 +02:00
Sebastian Dröge 34f3e7710c Point to the new documentation location everywhere 2021-05-29 19:00:50 +03:00
Bilal Elmoussaoui b2083d0973 gir-files: drop broken commit & regen 2021-05-28 14:16:15 +02:00
Marijn Suijten eaed54e279 Update gir and regenerate with simplified trait bounds
Trait bounds moved from `where T: Foo` directly into the type parameter
definition at `<T: Foo>`: https://github.com/gtk-rs/gir/pull/1160.
2021-05-27 00:02:42 +02:00
Sebastian Dröge 88c4f70195 Regenerate with latest gir 2021-05-23 16:27:57 +00: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
Guillaume Gomez 6fdf35846e Update repository URL for gtk-rs "core" crates 2021-05-12 21:21:18 +02:00
Sebastian Dröge d30e626e79 video: Add subclassing support for VideoFilter
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/156
2021-05-10 12:38:53 +03:00
Sebastian Dröge 255c0ff95e video: Don't return glib::Borrowed from VideoFrameRef::from_glib_borrow_mut()
For it to be usable we need a mutable reference, which Borrowed does not
provide. This should be handled via Pin at a later time, see
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/324
2021-05-09 19:15:47 +03:00
Marijn Suijten d50d7b4a95 Update gir and regenerate
This version adds a `--strip-docs` flag to `generator.py`, used in
conjunction with `--strip-docs --embed-docs` to clean documentation
first before re-embedding it (otherwise the same text would show up
multiple times).  It is also used in the CI to check that no
documentation disappears on stripping, ie. all documentation is properly
annotated with `// rustdoc-stripper-ignore-next`.
2021-05-05 12:23:40 +02:00
François Laignel 5505715cc4 Manual code updates for *Return types 2021-05-04 11:33:51 +00:00
François Laignel 2364361f6b regen: use TryFromGlib for *Return types 2021-05-04 11:33:51 +00:00
François Laignel 4b2e001f8e Gir.toml: use TryFromGlib for *Return types 2021-05-04 11:33:51 +00:00
François Laignel 49583597ed manual code: fix-getters-def doc aliases 2021-05-03 20:46:57 +02:00
François Laignel 01b6d342a4 regen: prop alias + connect_*_notify signal + add fn doc alias 2021-05-03 20:46:56 +02:00
Marijn Suijten 579ac6c4e4 video: Implement gst_video_color_range_offsets for Video(Format)Info 2021-04-30 16:48:31 +02:00
Marijn Suijten 7cb151dd46 video: Update VideoColorRange based on autogenerated implementation
Also separate the lower/upper bound in the name with an underscore. This
cannot be added between `Range` and the first number, that's violating
`non_camel_case_types`.
2021-04-30 11:09:08 +02:00
Marijn Suijten 28cf8434d0 video: Fix all clippy::use_self warnings 2021-04-30 10:58:35 +02:00
Marijn Suijten 980304ce36 Replace T::type_data with Self::type_data for clippy::use_self 2021-04-30 10:02:55 +02:00
Marijn Suijten e52e4328b3 Allow clippy::use_self on auto module 2021-04-30 10:02:47 +02:00
Marijn Suijten 10c93807fb Replace explicit type with Self in for_value_type::<> turbofish 2021-04-30 10:02:47 +02:00
Marijn Suijten e8f340c60a Update gir and regenerate with clippy::use_self fixes
`Self` is now used in more places, shortening the code and making it
more readable at the same time.
2021-04-30 10:02:44 +02:00
Marijn Suijten f89e840d27 Remove redundant prelude imports
When importing the prelude of a crate like `gst` the `glib` prelude is
provided too.  Shedding these imports saves quite a few lines and
adheres to keeping it simple; we're not reexporting base/parent preludes
for no reason :)
2021-04-29 12:05:13 +02:00
Marijn Suijten e6a81edb3c prelude: Remove redundant reexports already provided by other preludes
For cleanliness the prelude module only needs to reexport preludes from
direct, "top-most" crates, which themselves take care of reexporting
preludes from its dependencies again.  This shaves off some code while
maintaining the same set of exports.
2021-04-29 11:44:35 +02:00
Bilal Elmoussaoui 890cd03632 manual renames of to_glib into into_glib 2021-04-27 19:44:41 +02:00
Bilal Elmoussaoui 060a7df448 regen with renamed ToGlib into IntoGlib 2021-04-27 19:14:52 +02:00
Marijn Suijten da156e8ce7 Update gir and regenerate without unused glib::ToValue imports 2021-04-27 10:14:19 +02:00
Sebastian Dröge 1d59ea91c5 Clean up various imports everywhere 2021-04-26 15:16:58 +03:00
Sebastian Dröge 5d11bba67e Fix missed ExtManual imports from macros 2021-04-26 14:56:12 +03:00
Marijn Suijten 1a07bfc710 Update gir and regenerate without trait reexports in crate root 2021-04-26 13:24:02 +02:00
Marijn Suijten 827ff99965 lib: Only export traits (Ext and ExtManual) from prelude
In gir it was brought up [1] that some traits (in particular
`*ExtManual`) are exported from the crate root in addition to the
prelude, cluttering the environment unnecessarily.  This commit removes
all these reexports, leaving those in prelude (that were already there)
only.

After this commit everything matching `Ext(Manual)?\b` in `lib.rs` sits
within `pub mod prelude {};`.

[1]: https://github.com/gtk-rs/gir/pull/1111
2021-04-26 11:25:23 +02:00