Commit graph

228 commits

Author SHA1 Message Date
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
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
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
François Laignel
6a5f17ae06 regen for ges: some more mandatory ClockTimes 2021-06-16 17:25:28 +02: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
03e8e6d22f regen: use TryFromGlib::Option for ClockTime 2021-06-04 22:09:38 +02:00
Marijn Suijten
510e4cd2b1 Regenerate with 1.19.1 updates 2021-06-04 11:51:00 +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
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
f78cb39615 ges: Replace (set_)child_property with autogenerated implementation
This function is now autogenerated thanks to `glib::Value` being
declared as available in `Gir.toml` and does not seem to have any
deficiencies compared to the manual implementation [1].

[1]: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/789#note_937493
2021-06-01 13:40:52 +00: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
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
2364361f6b regen: 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
e52e4328b3 Allow clippy::use_self on auto module 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
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
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
Marijn Suijten
5dade6a93c Disallow unused_imports in auto module again
This was temporarily allowed by Value trait refactoring, but the root
cause of the unused imports has been found (`glib::ToValue` for property
getters) and fixed in https://github.com/gtk-rs/gir/pull/1117.
2021-04-27 10:14:12 +02:00
Sebastian Dröge
1d59ea91c5 Clean up various imports everywhere 2021-04-26 15:16:58 +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
Sebastian Dröge
eda1d3d4a7 Update for Value trait refactoring 2021-04-25 14:45:08 +03:00
Sebastian Dröge
0eb5845934 Regenerate with latest gir 2021-04-25 14:45:01 +03:00
Marijn Suijten
1b2b3a75bc Update gir with generator.py included and regenerate
The `gir` repository now includes `generator.py` for easier sharing of
improvements with other projects like `gtk(4)-rs`.
2021-04-24 09:39:04 +02:00
François Laignel
e80a29372a fix-getters-def 0.3.0 pass 2021-04-20 18:18:02 +02:00
François Laignel
f7472c82e3 regen: relaxed get fn identification 2021-04-20 18:18:02 +02:00
François Laignel
172a4d47ab regen: use type_ for glib macros
This also includes a new substitution for bool getters:
get_need_... -> needs_...
2021-04-20 18:18:02 +02:00
François Laignel
08545cbefc regen - remove get prefix for getters 2021-04-13 17:54:38 +02:00
Lucas McGartland
1a7972246c gstreamer-editing-services: Add bindings for (Base)TransitionClip and OperationClip 2021-04-10 09:25:17 +03:00
Marijn Suijten
6ec0e3ac4b Update gir and regenerate with extended gir-dirs comments
Gir now prints all directories and their hashes in the version file and
comments; useful now that gstreamer-rs is being generated from both
gir-files/ and gst-gir-files/ submodules.
2021-04-01 15:58:41 +02:00
Marijn Suijten
a38561fbcd Update gir and regenerate with redundant #[cfg]/#[cfg_attr] removed
Also ignores `clippy::upper_case_acronyms` introduced with 1.51 which
can't be adhered to in bindings.
2021-04-01 15:53:18 +02:00
Sebastian Dröge
a311591310 Regenerate with latest gir 2021-03-08 12:25:37 +02:00
Sebastian Dröge
5822785191 Regenerate with latest gir 2021-02-28 18:30:54 +02:00
Sebastian Dröge
2b0b3910ee Regenerate everything with latest gir 2021-02-22 17:13:45 +02:00
Vivia Nikolaidou
0a119cada6 gstreamer-audio: Add AudioConverterConfig 2021-02-09 19:13:30 +02:00
Sebastian Dröge
9d86cef2da Regenerate everything with latest gir 2021-02-07 17:07:17 +02:00
Marijn Suijten
fb55cdfeff Remove allow(unused_imports) from mod auto
gir has been fixed to omit all unnecessary imports from objects, enums
and flags which currently are the only offenders of this linter warning.
Hence disallow this warning from now on which is anyway not applied to
every crate - like gstreamer-gl - where such issues have been uncovered.
2021-01-30 15:49:49 +01:00
Marijn Suijten
1ffa02fc1f Update gir to c85699a with import cleanups; regenerate
Apply import cleanups from https://github.com/gtk-rs/gir/pull/1043,
omitting `use` statements where unnecessary or guarding them with
versioning constraints to prevent `unused_imports` warnings.

Removes unnecessary `mut_override` with
https://github.com/gtk-rs/gir/pull/1044 as well.
2021-01-30 15:49:38 +01:00
Sebastian Dröge
68839c0e79 Re-export all dependency crates and their preludes
This makes code in examples potentially simpler.
2020-12-20 19:40:34 +02:00
Guillaume Gomez
2f0e386037 Regen with more doc alias for enums and consts 2020-12-18 15:23:05 +01:00
Sebastian Dröge
ce1148b474 Update everything for glib macro renamings 2020-12-18 00:56:47 +02:00
Sebastian Dröge
d0b0006d27 Regenerate 2020-12-18 00:34:53 +02:00
Guillaume Gomez
ff5a36561a Fix license header situation 2020-12-15 11:53:31 +01:00
Guillaume Gomez
959568f124 regen 2020-12-08 14:00:17 +01:00
Marijn Suijten
15d8774e6b Update gir to 1c1a8d7 and regenerate with associated enum/flag functions 2020-12-07 12:11:27 +01:00
Guillaume Gomez
8f9d76bb8c Revert "Remove unnecessary dox feature"
This reverts commit 9dd8bd9095.
2020-11-27 14:37:49 +01:00
Guillaume Gomez
7daac635c4 regen 2020-11-27 14:37:24 +01:00
Guillaume Gomez
9dd8bd9095 Remove unnecessary dox feature 2020-11-25 15:54:02 +01:00
Guillaume Gomez
28438d245a regen 2020-11-25 15:53:45 +01:00
Sebastian Dröge
3c8e798f73 ges: Update manual code to 2018 edition 2020-11-22 19:15:21 +02:00
Sebastian Dröge
96782e8a8e ges: Regenerate 2020-11-22 19:15:20 +02:00
Sebastian Dröge
389fa306aa Regenerate with latest gir 2020-11-19 19:53:22 +02:00
Marijn Suijten
9daa8d20a9 Regenerate with doc(cfg()) attribute on all symbols
This is enabled by a new version of gir, as updated in the previous
commit.
2020-11-19 16:39:31 +01:00
Marijn Suijten
3f373f623a Enable feature(doc_cfg) in all lib.rs
The next version of gir is going to generate doc(cfg()) attributes on
many symbols to show feature-dependence hints. While autogenerated sys
crates get this attribute in their own (generated) lib.rs file the safe
wrapper crates do not have such an autogenerated lib.rs file.
2020-11-19 16:39:31 +01:00
Sebastian Dröge
f6ace04caf Regenerate everything with latest gir 2020-11-07 12:17:25 +02:00
François Laignel
5903496e5b regenerate all 2020-11-05 18:29:47 +01:00
Sebastian Dröge
67f5c0767a Regenerate everything with latest gir 2020-11-01 09:48:40 +02:00
Sebastian Dröge
501934a29b Allow unused imports in autogenerated code
These should not be there to begin with but they're hard to prevent.
2020-10-17 13:09:45 +03:00
Sebastian Dröge
55efe30258 Regenerate everything 2020-09-08 15:42:28 +03:00
Sebastian Dröge
70fd572a46 Regenerate everything 2020-08-11 12:53:27 +03:00
Sebastian Dröge
448c1e10a0 Regenerate 2020-07-06 13:01:57 +03:00
Sebastian Dröge
911bb34dc2 Don't generate LAST/NONE variants of flags types
Those are automatically provided already.
2020-06-30 11:35:49 +03:00
Sebastian Dröge
45402b5e95 Add specific version configurations for various enum/flags values
gobject-introspection does not support this yet so we have to do that
manually.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/271
2020-06-30 11:23:37 +03:00
Sebastian Dröge
8dfbc9e811 Regenerate 2020-06-19 13:09:11 +03:00
Guillaume Desmottes
7b2fe31cc1 update gir generator and regenerate 2020-06-11 12:33:49 +02:00
Guillaume Desmottes
1b0a20e52f regenerate 2020-06-03 20:04:18 +03:00
Sebastian Dröge
781c5785b1 Regenerate 2020-05-05 17:29:14 +00:00
Vivia Nikolaidou
ec4a43be89 Regenerate 2020-05-03 16:48:35 +03:00
Vivia Nikolaidou
118c7d4ad9 Regenerate 2020-04-30 17:16:23 +03:00
Sebastian Dröge
5021994237 Regenerate everything 2020-04-13 19:11:33 +03:00
Sebastian Dröge
ac27258478 Revert "gstreamer-editing-services: Move Asset::request_async method into manual code to add missing init assert"
This reverts commit 6db70eaa4b. Not needed
anymore with latest gir.
2020-04-13 19:09:12 +03:00
Sebastian Dröge
d1665b8114 Regenerate with latest gir 2020-04-12 18:55:06 +03:00
Guillaume Gomez
6db70eaa4b gstreamer-editing-services: Move Asset::request_async method into manual code to add missing init assert
See https://github.com/gtk-rs/gir/issues/898
2020-04-12 17:25:54 +03:00
Guillaume Gomez
c07fe14191 gstreamer*: Add missing init checks 2020-04-12 17:25:54 +03:00
Sebastian Dröge
019afd54f9 Update for new from_glib_borrow signature
See https://github.com/gtk-rs/glib/pull/605
2020-04-05 18:48:48 +03:00
Sebastian Dröge
196a9891cb Regenerate with latest gir
This switches the RTP constant strings over to once_cell::Lazy
2020-01-22 19:57:41 +02:00
Sebastian Dröge
be3c378f28 Use Results instead of Options where they signal an error instead of just a missing value
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/216
2019-12-17 22:21:28 +02:00
Sebastian Dröge
eaafbd14f7 Regenerate 2019-12-15 12:19:33 +02:00
Sebastian Dröge
d7556131e3 ges: Get rid of now unneeded fragile dependency 2019-11-21 09:53:10 +02:00
Sebastian Dröge
175863668d Regenerate everything with latest gir 2019-11-21 09:52:51 +02:00
Sebastian Dröge
0c944cb26e gstreamer: Add documentation to gst::deinit() about when it's safe to be called 2019-11-14 12:11:10 +00:00
Sebastian Dröge
77c6741ae0 Update to futures 0.3 and require Rust 1.39
Also use async/await in the futures examples.
2019-11-11 12:18:49 +01:00
Guillaume Gomez
9e30687d8e Fix glib reexports 2019-11-11 11:34:09 +01:00
Guillaume Gomez
a58cd4b5bc Manual code fixes 2019-11-11 11:34:09 +01:00
Guillaume Gomez
457ac9118b Regenerate with latest gir 2019-11-11 11:34:09 +01:00
Sebastian Dröge
991f2e1576 Update and regenerate everything with latest gir 2019-10-05 00:03:57 +03:00
Sebastian Dröge
d2930aed0b Regenerate everything with latest gir-files 2019-10-05 00:02:07 +03:00
Sebastian Dröge
1b860825ee Update feature flags of all dependencies to include the same version as for the crate itself
This improves build times as it allows cargo to reuse more previous
build results when building crates separately.

Also remove the serde-pickle dependency. It was only used in a single
test and caused pulling in of quite a few dependencies.
2019-08-13 16:46:08 +03:00
François Laignel
5d012945df Regen 2019-08-11 10:43:30 +02:00
Sebastian Dröge
f63d50546a Don't use ONCE_INIT anymore now that Once::new() is const 2019-07-11 17:56:50 +03:00
Sebastian Dröge
bde6a04780 Regenerate everything with latest gir 2019-07-10 11:21:28 +03:00
Sebastian Dröge
47f0940b44 Regenerate everything with latest gir 2019-06-24 20:52:03 +03:00
Sebastian Dröge
b87ffa17bb Run rustfmt also over all the generated code 2019-06-18 13:12:00 +03:00
Sebastian Dröge
e5aa6f59f9 Regenerate everything 2019-06-18 13:10:46 +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
0c0c056770 ges: Update bindings to 1.16.0 2019-05-16 01:54:10 +03:00
Sebastian Dröge
e7898c1b24 Update manual code 2019-04-15 19:19:19 +03:00
Sebastian Dröge
24305a19e8 Regenerate everything with latest gir 2019-04-15 18:38:05 +03:00
Sebastian Dröge
8c39da4e5b Update to Rust 1.31 linter-specific attributes 2019-03-04 15:16:01 +02:00
Sebastian Dröge
8754e4220e Regenerate everything with latest gir 2019-02-22 11:55:16 +02:00
François Laignel
3ea34695dd ges: update functions returning bool to Result<(), BoolError>
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/181
2019-02-07 11:03:01 +01:00
Sebastian Dröge
00cbd49923 Regenerate with latest gir 2019-01-29 16:28:51 +02:00
Sebastian Dröge
ad24ab9638 Regenerate everything with latest gir 2019-01-21 22:00:48 +02:00
Sebastian Dröge
bfcdec782e Switch to stable rustfmt and add skip annotations for the generated code to the lib.rs 2019-01-16 17:10:01 +02:00
Sebastian Dröge
931c485150 Update manual code for glib API changes 2019-01-16 13:52:56 +02:00
Sebastian Dröge
6da0a9d169 Regenerate everything with latest gir 2019-01-16 13:32:39 +02:00
François Laignel
226070d216 BoolError: update to new build macros
See https://github.com/gtk-rs/glib/pull/419
2019-01-04 16:02:40 +01:00
François Laignel
3200574d31 Update to latest gir
See https://github.com/gtk-rs/gir/pull/687
2019-01-04 16:02:40 +01:00
Philippe Normand
9534416760 Regenerate and fix manual bindings for GString support 2019-01-03 22:01:41 +00:00
Sebastian Dröge
6bba3d8518 Add 'static trait bound to all ExtManual traits and get rid of trait bounds for their impls 2018-12-08 14:58:14 +02:00
Sebastian Dröge
5c93e134a7 Regenerate everything with new version of gir 2018-12-08 14:58:14 +02:00
Sebastian Dröge
f31827f194 Regenerate with latest gir
Gets rid of some unneeded property notification functions in GES
2018-11-05 11:18:31 +02:00
Thibault Saunier
7360e50280 ges: Work around trait naming conflicts
Fixes #151
2018-11-04 16:55:33 -03:00
Thibault Saunier
6570d67828 ges: Mark more method as returning BoolError 2018-11-04 15:41:09 -03:00
Thibault Saunier
8639aed456 Generate bindings for the GStreamer Editing Services 2018-11-04 11:35:54 -03:00