Jordan Petridis
2ded2837ba
tracer: add rustdoc-stripper-ignore-next annotations
2021-08-16 18:49:23 +03:00
Edward Hervey
f504493134
gstreamer: Add serde support for more enums and flags
...
PadDirection, PadPresence, URITYpe, Rank
2021-08-16 15:05:37 +02:00
Simonas Kazlauskas
cb475e0965
Bindings to GstTracer and GstTracerFactory
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/147
2021-08-16 14:38:22 +03:00
Simonas Kazlauskas
3ad9d3340b
Make plugin date-time optional
...
It is described as optional in
https://gstreamer.freedesktop.org/documentation/gstreamer/gstplugin.html?gi-language=c#GstPluginDesc
and is also pretty difficult to provide for Rust plugins, I feel. For C
stuff the expectation is that build system would set something like
GST_PACKAGE_RELEASE_DATETIME=`date -u "+%Y-%m-%dT%H:%MZ"` which is
terrible.
2021-08-10 17:38:55 +03: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
Olivier Crête
93c794b338
subclass: Declare minimum to be 1.19 for v1_20
2021-07-13 08:42:56 +03:00
Sebastian Dröge
b73b4428ba
gstreamer/segment: Return a segment reference instead of the value itself from the getter
2021-07-12 14:22:09 +03:00
Vivia Nikolaidou
eb5df0ae26
event: Implement gap_flags
2021-07-09 16:27:41 +03:00
Vivia Nikolaidou
45f8035ccb
structure, caps: Implement 1.20 serialize functions
2021-07-09 15:10:02 +03:00
Sebastian Dröge
edac1a1d3a
gstreamer/element: Include ElementExtManual::request_pad_simple() in the docs too
...
Currently only the v1_20 ElementExt::request_pad_simple() appears in the
docs but it's available from the other trait in older versions.
2021-06-30 09:26:51 +00: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
e31ce9d07b
Manual ClockTime updates
2021-06-04 22:09:38 +02:00
François Laignel
90bb458e64
Rework ClockTime & FormattedValues
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
Marijn Suijten
510e4cd2b1
Regenerate with 1.19.1 updates
2021-06-04 11:51:00 +02:00
Marijn Suijten
9fd768425e
Rename request_pad_simple to avoid 1.19.1 clash
...
Fixes: 3f442d977
("prep for regen: relaxed get fn identification")
2021-06-03 20:35:35 +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
Guillaume Gomez
b0fc500ed1
Generate missing doc aliases
2021-06-02 20:23:29 +02:00
Guillaume Gomez
abf82e6f7a
Replace raw constants with the FFI constants
2021-06-02 20:23:01 +02:00
Guillaume Gomez
96266ff922
Generate missing doc aliases
2021-06-02 17:35:30 +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
Guillaume Gomez
5ba79976a9
Generate missing doc aliases for newtypes
2021-06-01 15:15:59 +02:00
Sebastian Dröge
849a524b09
element: Make caps in link_filtered() / link_pads_filtered() mandatory
...
Instead of passing `None`, the non-filtered variants of the functions
can be used.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/328
2021-05-30 17:30:22 +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
Guillaume Gomez
dcd0695567
Improve conversion code for enum variants
2021-05-23 13:15:27 +02:00
Guillaume Gomez
7e892b507f
Add missing doc aliases on variants
2021-05-23 13:06:57 +02: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
Sebastian Dröge
b02f2acae5
gstreamer: Update for try_from_glib() having become an unsafe function
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/337
2021-05-19 11:47:11 +03:00
Sebastian Dröge
11a85449e7
gstreamer/uri_handler: Only assign to GError**
s if they're not NULL
2021-05-15 10:41:34 +03:00
François Laignel
65fd79f973
ParamSpec: conform to glib naming for constructors
2021-05-06 21:40:19 +02:00
Marijn Suijten
e8c90c9186
gstreamer/lib: Prevent fn deinit()
docs from being stripped
2021-05-05 12:23:40 +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
Sebastian Dröge
aa3cc48756
Fix new 1.52 clippy warnings
2021-05-05 12:02:03 +03: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
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
1eb0c483fe
gstreamer: Fix some clippy::use_self warnings
2021-04-30 10:58:36 +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
Sebastian Dröge
3ad7a18792
gstreamer: Remove unused leftover ToGlib import
...
And directly call from_glib_borrow() instead of adding a use statement
for it.
2021-04-28 09:28:54 +03: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
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
2c40ce10ab
gstreamer,pbutils: Only import traits from prelude
...
Future changes will make all traits - both manual and auto - unavailable
from the crate root; they can then only be imported from the `prelude`.
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
5b7b39c448
gstreamer: Add CapsFeatures API using glib::Quarks instead of strings
...
The same API for Structures already exists.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/141
2021-04-26 10:54:23 +03: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
Sebastian Dröge
9d3888d294
gstreamer: Fix PromiseFuture implementation
...
We can't return a plain reference to something stored inside the future
as that would go out of scope after `await`. Instead return a struct
that wraps the `gst::Promise`, derefs to a structure and keeps the
promise alive as long as needed.
2021-04-23 11:52:02 +00:00
François Laignel
1395d773c3
manual fixes remove get prefix round 2
2021-04-20 18:18:02 +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
Sebastian Dröge
bf6669a9cb
gstreamer: Add TagList::remove() for removing tags
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/327
2021-04-20 10:22:14 +03:00
Marijn Suijten
9cc488db4c
gstreamer/miniobject: Make get_type function optional
...
Static typing is needed for `Value` interop, but not every type
(GLMemory in this instance) requires that.
2021-04-17 07:54:40 +00:00
François Laignel
99616ec0b4
post fix-getters manual updates
2021-04-13 17:54:40 +02: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
Sebastian Dröge
7e7f358ba2
gstreamer/tags: Replace removed glib TypedValue with local TagValue
...
See https://github.com/gtk-rs/gtk-rs/pull/449 . This struct remains
vital in GStreamer code to tie a type to an (untyped) SendValue, so that
the underlying value can be retrieved without having to guess its type.
That type is anyway stored in a private member T::TagType.
Co-authored-by: Marijn Suijten <marijns95@gmail.com>
2021-04-12 10:04:26 +02:00
Sebastian Dröge
a775f58753
Use glib::Error::into_raw() for passing GErrors without copying back to C
2021-04-11 10:45:56 +03:00
Sebastian Dröge
8d983066f5
gstreamer: Store ffi::GstCaps inside gst::Caps and equivalent for other miniobjects
...
Simplifies code and prepares for the next changes.
2021-04-03 17:43:50 +03:00
Sebastian Dröge
21ff418b0f
gstreamer: Store ffi::GstCapsFeatures inside gst::CapsFeatures
...
Simplifies code and prepares for the next changes.
2021-04-03 17:35:22 +03:00
Sebastian Dröge
b6f6758454
gstreamer: Store ffi::GstStructure inside gst::Structure
...
Simplifies code and prepares for the next changes.
2021-04-03 17:35:10 +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
15505cc5b8
Re-export interface ImplExt traits from the preludes
2021-03-14 14:06:30 +02:00
Sebastian Dröge
27385104d8
Update for glib interface API changes
2021-03-14 10:45:52 +02: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
0b61713398
gstreamer/uri_handler: Update for glib bindings API changes
2021-03-09 11:17:15 +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
b8c20c07ce
Update for new #[glib::object_subclass] attribute macro
2021-03-07 13:08:06 +02:00
Sebastian Dröge
932b8f813d
gstreamer/pad: Add support for removing pad probes from the probe callback
...
While this allows to remove the pad probe multiple times, which would
cause a g_warning(), this is not actually making the situation worse
than before while making some code patterns easier to implement:
- Probes could already be removed twice by return
gst::PadProbeReturn::Remove and then calling pad.remove_probe()
- Probes could be removed from a different pad than where they were
added
As such let's go with the simple solution here for now and allow giving
owned access to the probe id from the probe callback.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/286
2021-02-28 19:08:59 +02:00
Sebastian Dröge
5822785191
Regenerate with latest gir
2021-02-28 18:30:54 +02:00
Sebastian Dröge
a316d610eb
gstreamer: Update for glib::Type API changes
2021-02-25 12:49:47 +02:00
Sebastian Dröge
2b0b3910ee
Regenerate everything with latest gir
2021-02-22 17:13:45 +02:00
Jan Alexander Steffens (heftig)
59d91b2abf
gstreamer/plugin_feature: Make load downcast to Self
...
The loaded plugin feature is always of the same type as the unloaded
one. Move `fn load` to PluginFeatureExtManual to implement this.
2021-02-19 11:23:56 +00:00