From 38bd880a749fdc68c00f5c2c12ade4d17f2025ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 30 Dec 2017 15:30:07 +0200 Subject: [PATCH] Add GstVideoFilter bindings Not very useful, but will be useful for gst-plugin-rs --- Gir_GstVideo.toml | 4 ++++ gstreamer-video/Cargo.toml | 2 ++ gstreamer-video/src/auto/mod.rs | 3 +++ gstreamer-video/src/auto/video_filter.rs | 30 ++++++++++++++++++++++++ gstreamer-video/src/lib.rs | 2 ++ 5 files changed, 41 insertions(+) create mode 100644 gstreamer-video/src/auto/video_filter.rs diff --git a/Gir_GstVideo.toml b/Gir_GstVideo.toml index 5c3df1520..ba6e24f3f 100644 --- a/Gir_GstVideo.toml +++ b/Gir_GstVideo.toml @@ -12,6 +12,7 @@ external_libraries = [ "GLib", "GObject", "Gst", + "GstBase", ] generate = [ @@ -29,11 +30,14 @@ generate = [ "GstVideo.VideoFieldOrder", "GstVideo.VideoFrameFlags", "GstVideo.VideoMultiviewFramePacking", + "GstVideo.VideoFilter", ] manual = [ "GObject.Object", "Gst.Object", + "Gst.Element", + "GstBase.BaseTransform", "GstVideo.VideoInfo", "GstVideo.VideoFormatInfo", "GstVideo.VideoColorimetry", diff --git a/gstreamer-video/Cargo.toml b/gstreamer-video/Cargo.toml index 776ba8baa..9d633961c 100644 --- a/gstreamer-video/Cargo.toml +++ b/gstreamer-video/Cargo.toml @@ -18,9 +18,11 @@ libc = "0.2" glib-sys = { git = "https://github.com/gtk-rs/sys" } gobject-sys = { git = "https://github.com/gtk-rs/sys" } gstreamer-sys = { git = "https://github.com/sdroege/gstreamer-sys", features = ["v1_8"] } +gstreamer-base-sys = { git = "https://github.com/sdroege/gstreamer-sys", features = ["v1_8"] } gstreamer-video-sys = { git = "https://github.com/sdroege/gstreamer-sys", features = ["v1_8"] } glib = { git = "https://github.com/gtk-rs/glib" } gstreamer = { path = "../gstreamer" } +gstreamer-base = { path = "../gstreamer-base" } [build-dependencies.rustdoc-stripper] version = "0.1" diff --git a/gstreamer-video/src/auto/mod.rs b/gstreamer-video/src/auto/mod.rs index 9e306ebbe..71b4bf251 100644 --- a/gstreamer-video/src/auto/mod.rs +++ b/gstreamer-video/src/auto/mod.rs @@ -1,6 +1,9 @@ // This file was generated by gir (d50d839) from gir-files (???) // DO NOT EDIT +mod video_filter; +pub use self::video_filter::VideoFilter; + mod video_overlay; pub use self::video_overlay::VideoOverlay; pub use self::video_overlay::VideoOverlayExt; diff --git a/gstreamer-video/src/auto/video_filter.rs b/gstreamer-video/src/auto/video_filter.rs new file mode 100644 index 000000000..c8dfdc9c9 --- /dev/null +++ b/gstreamer-video/src/auto/video_filter.rs @@ -0,0 +1,30 @@ +// This file was generated by gir (d50d839) from gir-files (???) +// DO NOT EDIT + +use ffi; +use glib::translate::*; +use glib_ffi; +use gobject_ffi; +use gst; +use gst_base; +use gst_base_ffi; +use gst_ffi; +use std::mem; +use std::ptr; + +glib_wrapper! { + pub struct VideoFilter(Object): [ + gst_base::BaseTransform => gst_base_ffi::GstBaseTransform, + gst::Element => gst_ffi::GstElement, + gst::Object => gst_ffi::GstObject, + ]; + + match fn { + get_type => || ffi::gst_video_filter_get_type(), + } +} + +impl VideoFilter {} + +unsafe impl Send for VideoFilter {} +unsafe impl Sync for VideoFilter {} diff --git a/gstreamer-video/src/lib.rs b/gstreamer-video/src/lib.rs index 7b967eb8f..61eb5d7d7 100644 --- a/gstreamer-video/src/lib.rs +++ b/gstreamer-video/src/lib.rs @@ -15,7 +15,9 @@ extern crate glib; extern crate glib_sys as glib_ffi; extern crate gobject_sys as gobject_ffi; extern crate gstreamer as gst; +extern crate gstreamer_base as gst_base; extern crate gstreamer_sys as gst_ffi; +extern crate gstreamer_base_sys as gst_base_ffi; extern crate gstreamer_video_sys as ffi; macro_rules! assert_initialized_main_thread {