Commit graph

2717 commits

Author SHA1 Message Date
Marijn Suijten eb6939f8b7 Clean up object version overrides 2021-09-28 15:46:39 +03:00
Sebastian Dröge baccf52e43 Regenerate with latest gir 2021-09-28 15:46:37 +03:00
Sebastian Dröge 931e35cdf9 Update gir 2021-09-28 15:13:48 +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 d0902f19a8 Update gir 2021-09-28 12:54:49 +03:00
Sebastian Dröge 513fb4cdc3 Update gtk-rs gir-files
Should reduce download sizes a bit.
2021-09-28 12:31:55 +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
Jan Alexander Steffens (heftig) c05d2e24af
gstreamer/clock_time: Format Debug like Display
This allows us to drop `.to_string()` from the custom Debug
implementations, which now also no longer print as strings.
2021-09-23 02:19:41 +02:00
Sebastian Dröge 14edcf9aaf Regenerate with latest gir 2021-09-22 12:02:53 +03:00
Sebastian Dröge bcddcc2c88 Update gir 2021-09-22 12:01:30 +03:00
Marijn Suijten 226419003d Use impl for some Into* trait bounds 2021-09-21 23:54:11 +02:00
Marijn Suijten 669bf52291 Use impl for AsRef trait bounds 2021-09-21 23:54:07 +02:00
Marijn Suijten 0e435578b7 player: Allow needless_borrow in auto module 2021-09-21 10:27:09 +02:00
Marijn Suijten 64ec364259 examples/player: set_uri now allows None to be passed in 2021-09-21 09:58:07 +02:00
Marijn Suijten 13165938ab Regen 2021-09-20 20:38:25 +02:00
Marijn Suijten 0fee9489a5 player/gir: Trust annotation nullability and remove all overrides 2021-09-20 20:35:35 +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 c66287843f gstreamer-base: Allow filling a passed in buffer in PushSrc::create()
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/277
2021-09-19 13:59:05 +00: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 1856d47a06 gstreamer: Add bindings to MiniObject together with casting functionality
This is only possible with 1.20 because gst_mini_object_get_type() was
added then. Previous versions only provide bindings for the specific
types, like Caps, Event, etc.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/353
2021-09-19 13:12:58 +00:00
Sebastian Dröge 672b7abe1d Update gir 2021-09-19 13:12:58 +00:00
Sebastian Dröge 60c3272224 Update gir-files and gst-gir-files 2021-09-19 13:12:58 +00:00
Sebastian Dröge 538ce91987 gstreamer: Provide getter for meta type in addition to meta API type 2021-09-19 15:45:58 +03:00
Sebastian Dröge 7c5303c492 gstreamer: Add support for gst::CustomMeta 2021-09-19 15:45:58 +03:00
Sebastian Dröge 80ee1edec5 gstreamer: Clean up meta code a bit 2021-09-19 15:45:58 +03:00
Sebastian Dröge 9f1b8f6165 gstreamer-video: Add support for VideoCodecAlphaMeta 2021-09-19 14:51:46 +03:00
Sebastian Dröge 514c18ad5a ci: Update image with a newer GStreamer version
As preparation for updating the bindings to the latest 1.19 APIs.
2021-09-19 10:08:37 +03:00
Jonas Platte 4b2f0a936b
Derive PartialOrd, Ord and Hash for PadProbeId 2021-09-15 20:12:03 +02:00
Sebastian Dröge 6b4f6ca45c gstreamer/device_provider: Add constructor for device provider metadata 2021-09-13 11:34:00 +03:00
Vivienne Watermeier acb2a9e522 add option to ges.rs to render to a file instead 2021-09-10 20:13:29 +00:00
Sebastian Dröge ce09e333b3 ci: Add libsoup2.4-dev to FDO_DISTRIBUTION_PACKAGES for now
It fails building via gst-build because of its sysprof subproject.
2021-09-10 09:43:12 +03:00
Sebastian Dröge 4951fb8630 ci: Update stable image to Rust 1.55 and update to meson 0.59.1 2021-09-09 22:20:06 +03:00
Jordan Petridis 2e57783c9f
ci: avoid spawning 2 pipelines for each commit
When an MR is open, you can have both a normal and a "detached"
pipeline.

They have different properties, but a detached pipeline is
enough for us and identical to the normal one, so we can avoid
the extra load on the CI.

https://docs.gitlab.com/ee/ci/jobs/job_control.html#avoid-duplicate-pipelines

https://docs.gitlab.com/ee/ci/yaml/index.html#switch-between-branch-pipelines-and-merge-request-pipelines
2021-09-09 06:13:56 +03:00
Sebastian Dröge a3a7f85f7f rtp/rtpbuffer: Work on &BufferRef / &mut BufferRef instead of &Buffer / &mut Buffer
The buffer, in the writable case, needs to be actually writable (i.e.
refcount 1) and this was previously not ensured.

Also it caused some API mismatch when trying to use it e.g. as part of
basetransform's `transform_ip()` virtual method.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/162
2021-09-08 09:29:05 +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
Guillaume Gomez 59b5ad9c8a Update gir submodule 2021-08-31 15:09:51 +02:00
Simonas Kazlauskas db30c121a0 const ElementMetadata constructor
The usual use of this will be through the `ElementImpl::metadata`
method, which requires a `&'static` reference to `ElementMetadata` to be
returned, so we better make it easy to construct these (without forcing
people to resort to `Lazy`'n'stuff)
2021-08-31 09:10:31 +00: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
Marijn Suijten 12887f1931 gstreamer: Move attributes on macro-calls like cfg_if inside the macro
Attributes don't do anything when applied to macro invocations:

    warning: unused attribute `doc`
       --> gstreamer/src/lib.rs:146:29
        |
    146 | #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
        |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: `#[warn(unused_attributes)]` on by default
    note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `cfg_if::cfg_if`
       --> gstreamer/src/lib.rs:147:1
        |
    147 | cfg_if::cfg_if! {
        | ^^^^^^^^^^^^^^

And, on line 294-295:

    warning: unused attribute `doc`
       --> gstreamer/src/lib.rs:294:33
        |
    294 |     #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))]
        |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
    note: the built-in attribute `doc` will be ignored, since it's applied to the macro invocation `cfg_if::cfg_if`
       --> gstreamer/src/lib.rs:295:5
        |
    295 |     cfg_if::cfg_if! {
        |     ^^^^^^^^^^^^^^

Fortunately these two `cfg_if`'s for the Unix and Windows bus already
apply unnecessary trickery that duplicates the `mod`s and `use`s in
order to get documenation for both no matter the target platform; we can
capitalize on that by removing the `cfg_if` altogether and instead
applying the `cfg` and `doc(cfg())` attributes directly.
2021-08-29 11:21:46 +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
Sebastian Dröge ece84597fd Update CHANGELOG.md for 0.17.3 2021-08-23 09:11:50 +03: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
Marijn Suijten 323c67dee4 README: Use symlink to point to gstreamer/README.md
These files are (supposed to be) identical.  This also synchronizes the
missing bits from README.md to gstreamer/README.md.
2021-08-18 15:14:33 +02:00