Commit graph

3036 commits

Author SHA1 Message Date
Sebastian Dröge
eed648831d video: Add various VideoFormatInfo/VideoInfo/VideoFrame helper API 2022-04-04 15:50:09 +03:00
Sebastian Dröge
4d002786ec gstreamer: Don't re-export traits from the crate root 2022-04-04 08:51:04 +00:00
Sebastian Dröge
73ab9054c4 Don't use unnecessary RefCell wrappers for FnMut callbacks
They don't add any safety as this is via unsafe code anyway and are not
needed to get mutable references in this context anyway, while adding a
bit of runtime overhead.
2022-04-03 11:15:19 +03:00
Sebastian Dröge
8908d4bc98 video: Add subclassing bindings for VideoAggregatorConvertPad 2022-04-01 11:04:08 +03:00
Sebastian Dröge
5c14350079 audio: Add subclassing bindings for audioaggregator 2022-04-01 11:04:08 +03:00
Sebastian Dröge
e31e2ad9bd audio: Add audioaggregator bindings 2022-04-01 11:04:08 +03:00
Jan Alexander Steffens (heftig)
b7afdd4dd0
gstreamer: Add TaskPool bindings and subclassing
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/14
2022-03-30 23:01:21 +02:00
Jan Alexander Steffens (heftig)
44b2eba600
Update gir 2022-03-30 22:36:53 +02:00
Sebastian Dröge
ae234bb01e examples: Implement gst::ChildProxy interface in cairo compositor example 2022-03-30 21:41:28 +03:00
Vivia Nikolaidou
2c7c46e153 .gitlab-ci.yml: Fix deprecated -Zinstrument-coverage switch 2022-03-30 16:39:16 +03:00
Alejandro González
69599e90d4 Fix macOS PKG_CONFIG_PATH in readme for GStreamer Binaries
I've just installed the latest 1.20.1 GStreamer .pkg on a macOS GitHub
Actions CI runner and it turns out that no
/Library/Frameworks/GStreamer.framework/Versions directory exists. A
/Library/Frameworks/GStreamer.framework/1.0 directory is installed
instead, which is more consistent with the GStreamer distributions for
other OSes, and works well enough to get pkg-config working.
2022-03-28 11:47:47 +02:00
Sebastian Dröge
07be60a22f Don't unnecessarily borrow dereferenced values explicitly
warning: this expression borrows a value the compiler would automatically borrow
  --> gstreamer-rtsp-server/src/rtsp_session_pool.rs:16:5
   |
16 |     (&mut *func.borrow_mut())(&from_glib_borrow(pool)).into_glib()
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `(*func.borrow_mut())`
   |
   = note: `#[warn(clippy::needless_borrow)]` on by default
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow
2022-03-24 12:40:52 +02:00
Sebastian Dröge
208e1ef7a4 examples: Simplify cairo compositor example a bit and improve/add comments. 2022-03-23 10:27:08 +02:00
Sebastian Dröge
21dbe86c8e examples: Add a Cairo-based compositor example based on VideoAggregator 2022-03-22 19:00:32 +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
2943c310cd base: Fix signature of Aggregator::connect_samples_selected()
The first argument is not a random aggregator type but the type that was
used to connect to the signal.
2022-03-22 19:00:32 +02:00
Philippe Normand
cd2e3aa7f1 allocators: Fix manual ABI test
Fixing this build error:
In file included from tests/layout.c:6:
tests/manual.h:3:10: fatal error: gst/base/base.h: No such file or directory
    3 | #include <gst/base/base.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
test cross_validate_layout_with_c ... FAILED
In file included from tests/constant.c:6:
tests/manual.h:3:10: fatal error: gst/base/base.h: No such file or directory
    3 | #include <gst/base/base.h>
      |          ^~~~~~~~~~~~~~~~~
2022-03-21 16:48:42 +00:00
Jordan Petridis
e6dc3f5b3e ci: Patch the gtk4 build in the CI image so it builds
wayland-protocols 1.25 subproject fails to build on
debian 11, but in general switch subprojects to stable
branches.

Upstream MR:
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4580
2022-03-17 18:05:13 +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
fe7850720c audio: Add new dither-threshold converter configuration 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
1a11fda103 ci: Build crates with v1_22 2022-03-17 11:06:26 +02:00
Sebastian Dröge
12f1483d43 gstreamer: Create plugins with version 1.21 if v1_22 is selected 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
2f55ffe419 Update GStreamer gir files 2022-03-17 11:06:26 +02:00
Sebastian Dröge
39e90b603b Update gir-files 2022-03-15 15:46:30 +02:00
Sebastian Dröge
6f2cd17232 Update gir 2022-03-15 15:46:30 +02:00
Sebastian Dröge
a3b95d60ae ci: Update to meson 0.61.3, GTK 4.6 branch and rebuild GStreamer 2022-03-15 15:46:11 +02:00
Sebastian Dröge
4b3362039e Use SPDX license format in Cargo.toml 2022-03-14 10:21:49 +02:00
Christian Meissl
3234a18677 Use new memory type infrastructure in gstreamer-gl 2022-03-12 14:19:40 +00:00
Christian Meissl
389d406e73 Remove usage of _get_type in gstreamer-gl GLMemory
see: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764
2022-03-12 14:19:40 +00:00
Christian Meissl
163130cad7 Extend examples to showcase the use of the FdMemoryAllocator 2022-03-12 14:19:40 +00:00
Christian Meissl
a8dc789ef8 Add crates for gstreamer-allocators 2022-03-12 14:19:40 +00:00
Christian Meissl
44d39f8824 Add infrastructure for casting from/to memory subtypes 2022-03-12 14:19:40 +00: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
beb3ad2010 Update CHANGELOG.md for 0.18.6 2022-03-08 19:24:10 +02:00
Sebastian Dröge
b69043d462 gstreamer: Require Send and not Sync for the values of an Array / List
`Sync` is more than required here: only sending of the values to another
thread is required.
2022-03-08 14:46:13 +02:00
Sebastian Dröge
1f7a0f29d9 gstreamer: Update for optional glib::Value type refactoring 2022-03-07 13:20:08 +02:00
Sebastian Dröge
0f22eb7633 Remove now unnecessary Send+Sync impls for element/etc subclasses
This is now automatically implemented.
2022-02-28 18:25:15 +02:00
Sebastian Dröge
319f1c68a5 gstreamer: Simplify and speed up log message string construction
For pre-1.20 simply use `%s` as format string instead of escaping the
`%` inline while writing. This allows a simpler implementation and is
also faster, see https://github.com/gtk-rs/gtk-rs-core/pull/583.
2022-02-26 13:33:00 +02:00
Sebastian Dröge
ab04715dc7 ci: Update to Rust 1.59 2022-02-24 19:41:19 +02:00
Sebastian Dröge
bf660cf22a Update minimum supported Rust version to 1.57 2022-02-22 00:00:39 +02:00
Sebastian Dröge
fc1185b951 gstreamer: Add builders for the fraction/array paramspecs 2022-02-22 00:00:39 +02:00
François Laignel
972c4e75ac remove gst_ prefix for log macros
It's quite quite common to use similar macros in the form `log::debug!`
or `glib::clone!`. This MR renames the gst log macros so that we can
`gst::debug!` instead of `gst_debug!` and whithout the need for
`use gst::gst_debug`.
2022-02-21 18:56:06 +01:00
Sebastian Dröge
ad1c2d83a4 Revert "rtsp-server: Add bindings for Onvif-specific client/media/media-factory/server"
This reverts commit bdac7cb99c.

This was applied twice.
2022-02-20 20:55:15 +02:00
Sebastian Dröge
40be06d5f6 Update CHANGELOG.md for 0.18.5 2022-02-20 20:27:56 +02:00