Commit graph

445 commits

Author SHA1 Message Date
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
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
Marijn Suijten 3f508963e7 gstreamer: Remove now-unused build.rs from "normal" crates
The `lgpl-docs` and documentation embedding step is now solely invoked
from `./gir/generator.py` in the CI, and does not need the embed/purge
build features anymore.
2021-04-24 09:39:04 +02:00
Marijn Suijten e62558dde4 Remove docs/ crate and references to it
The `lgpl-docs` crate and all precompiled (easy to get outdated!)
docmentation files are removed in favour of being generated at runtime
by the improved generator, both during local development as well as in
the CI.
2021-04-24 09:39:02 +02:00
Marijn Suijten 7ede94fec8 Replace all girs_dir with girs_directories and add gst-gir-files dir
The previous commit reinstantiated `girs_dir`, and this commit applies
the rename to `girs_directories` and adds the new/missing
`gst-gir-files` directory where GStreamer-specific `.gir` files live.
2021-04-23 22:01:23 +02:00
Marijn Suijten 666ea908a5 Revert "Gir.toml: Drop unused/renamed girs_dir in favour of gir -d"
This reverts commit 7f9fcb09e2.

`generator.py` is in the process of being moved to a generic place in
the `gir` repository for reuse across crates.  This means `-d` cannot be
passed for our GStreamer-specific `gst-gir-files` directory anymore, and
should be configured from `Gir.toml` instead.
2021-04-23 21:59:33 +02:00
François Laignel 6ab9164dca fix-getters-calls 0.3.0 pass 2021-04-20 18:18:02 +02:00
François Laignel e80a29372a fix-getters-def 0.3.0 pass 2021-04-20 18:18:02 +02:00
François Laignel b8b944b72b subclass: remove get prefix where applicable 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
Marijn Suijten b8756a3bd8 video/video_buffer_pool: Implement ToGlibPtr for VideoAlignment
This will be used by the GL bindings.
2021-04-17 07:54:40 +00:00
François Laignel 53be8e5f58 fix-getters-{def,calls} pass 2021-04-13 17:54:40 +02:00
François Laignel 08545cbefc regen - remove get prefix for getters 2021-04-13 17:54:38 +02: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 7f9fcb09e2 Gir.toml: Drop unused/renamed girs_dir in favour of gir -d
We were already using `gir -d` and especially now that our files are
separated across two directories that are relative to the directory
containing Gir.toml this only becomes cumbersome. Besides `gir` lacks
functionality to normalize the path, leading to ie.
gstreamer-gl/egl/sys/../../../gir-files in the version comment as a
result.
2021-04-01 15:53:23 +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
Marijn Suijten 89ba883ea8 audio/video: Do not link v1_20 ffi functions when building docs
The sys crates have not been generated with 1.20 introspected gir files
yet, and break the documentation that is already compiling with the
v1_20 feature. Function body contents don't truly matter for the
documentation build anyway.
2021-03-24 13:43:45 +01:00
Sebastian Dröge ea239c587e Store panic information not in a custom instance struct but in the instance data provided by the subclassing infrastructure
This scales better as there will only be only such data instead of two
or more when having deeper class hierarchies with multiple Rust
elements, and also makes it unnecessary to use a special instance struct
so the default works well.
2021-03-09 16:36:35 +02:00
Sebastian Dröge 6fa48890bc Update for the subclassing glib bindings API changes 2021-03-09 16:04:32 +02:00
Sebastian Dröge a311591310 Regenerate with latest gir 2021-03-08 12:25:37 +02:00
Sebastian Dröge 0803dd411e Update for glib subclass API cleanup 2021-03-08 12:18:24 +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
Sebastian Dröge 0ea48e9894 gstreamer-video: Add support for VideoOrientation interface and VideoOrientationMethod enum 2021-02-19 18:42:38 +02:00
Marijn Suijten ce67076f26 gstreamer,video: Do not zero-initialize designated struct members
This should be analogous to C struct initalizers where all unspecified
fields are initialized to zero. Without mut this reads a bit nicer as
well.

Note that two out of three structs have all members specified, hence
need no zero-initialization of the remainder at all.
2021-02-15 20:19:38 +01:00
Marijn Suijten 439db15c20 Regenerate with 1.18.3 and preliminary changes for 1.18.4 2021-02-15 20:19:38 +01:00
Sebastian Dröge 5f5218e1ab Update CHANGELOG.md for 0.16.7 2021-02-13 14:04:37 +02:00
Sebastian Dröge 3d076c05e1 Regenerate with gir to update system-deps dependency and get rid of clippy warning in the ABI tests 2021-02-10 13:11:49 +02:00
Sebastian Dröge 631be6b534 video/timecode: Fix compilation of tests with target API < 1.16 2021-02-10 13:09:51 +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
Sebastian Dröge 280433ebc1 video/timecode: Comment out spurious #[cfg] attribute and remove its duplicate 2021-02-04 11:19:54 +02:00
Sebastian Dröge e1a964fb00 video/timecode: Use mem::ManuallyDrop to prevent a double unref of the daily jam
As ffi::GstVideoTimeCode implements Copy, assignments don't move it out
of the passed in value but just copy it. This doesn't increase the
reference count of the daily jam, still runs the Drop impl of the passed
in value to decrease the daily jam and then causes a second unref of it
later when the returned value is dropped.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/310
2021-02-04 10:55:43 +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 927cca106d Use async/await in a few places and reduce dependencies as a result 2021-01-14 15:25:03 +02:00
Sebastian Dröge 835273923e Update itertools to 0.10 2021-01-09 12:49:32 +02:00
Sebastian Dröge 3428e5c0c7 Update CHANGELOG.md for 0.16.6 2020-12-20 20:50:51 +02:00
Sebastian Dröge 477b00cce8 Update CHANGELOG.md for 0.16.5 2020-12-20 20:50:48 +02: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
Sebastian Dröge 53aae7ddba Remove gst_ prefix from all macros except for the logging macros
The latter stay e.g. gst_debug! to be more clear and not conflict with
e.g. the debug! macro from the log crate.
2020-12-20 19:40:34 +02:00
Marijn Suijten 62436aa8d3 video/time_code_interval: Correct set_frames parameter name
Aesthetics.
2020-12-19 12:54:37 +01:00
Marijn Suijten 6e119b7256 video/time_code_interval: Ord cmp minutes to other.minutes, not hours
Same mistake as the previous commit. Clipppy didn't find this one though
:)
2020-12-19 12:54:21 +01:00