Commit graph

662 commits

Author SHA1 Message Date
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