gstreamer_gl/auto/
gl_view_convert.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::{ffi, GLContext, GLStereoDownmix};
7use glib::{
8    prelude::*,
9    signal::{connect_raw, SignalHandlerId},
10    translate::*,
11};
12use std::boxed::Box as Box_;
13
14glib::wrapper! {
15    #[doc(alias = "GstGLViewConvert")]
16    pub struct GLViewConvert(Object<ffi::GstGLViewConvert, ffi::GstGLViewConvertClass>) @extends gst::Object;
17
18    match fn {
19        type_ => || ffi::gst_gl_view_convert_get_type(),
20    }
21}
22
23impl GLViewConvert {
24    #[doc(alias = "gst_gl_view_convert_new")]
25    pub fn new() -> GLViewConvert {
26        assert_initialized_main_thread!();
27        unsafe { from_glib_full(ffi::gst_gl_view_convert_new()) }
28    }
29
30    #[doc(alias = "gst_gl_view_convert_perform")]
31    pub fn perform(&self, inbuf: &gst::Buffer) -> Option<gst::Buffer> {
32        unsafe {
33            from_glib_full(ffi::gst_gl_view_convert_perform(
34                self.to_glib_none().0,
35                inbuf.to_glib_none().0,
36            ))
37        }
38    }
39
40    #[doc(alias = "gst_gl_view_convert_reset")]
41    pub fn reset(&self) {
42        unsafe {
43            ffi::gst_gl_view_convert_reset(self.to_glib_none().0);
44        }
45    }
46
47    #[doc(alias = "gst_gl_view_convert_set_caps")]
48    pub fn set_caps(
49        &self,
50        in_caps: &gst::Caps,
51        out_caps: &gst::Caps,
52    ) -> Result<(), glib::error::BoolError> {
53        unsafe {
54            glib::result_from_gboolean!(
55                ffi::gst_gl_view_convert_set_caps(
56                    self.to_glib_none().0,
57                    in_caps.to_glib_none().0,
58                    out_caps.to_glib_none().0
59                ),
60                "Failed to set caps"
61            )
62        }
63    }
64
65    #[doc(alias = "gst_gl_view_convert_set_context")]
66    pub fn set_context(&self, context: &impl IsA<GLContext>) {
67        unsafe {
68            ffi::gst_gl_view_convert_set_context(
69                self.to_glib_none().0,
70                context.as_ref().to_glib_none().0,
71            );
72        }
73    }
74
75    #[doc(alias = "gst_gl_view_convert_transform_caps")]
76    pub fn transform_caps(
77        &self,
78        direction: gst::PadDirection,
79        caps: &gst::Caps,
80        filter: &gst::Caps,
81    ) -> gst::Caps {
82        unsafe {
83            from_glib_full(ffi::gst_gl_view_convert_transform_caps(
84                self.to_glib_none().0,
85                direction.into_glib(),
86                caps.to_glib_none().0,
87                filter.to_glib_none().0,
88            ))
89        }
90    }
91
92    #[doc(alias = "downmix-mode")]
93    pub fn downmix_mode(&self) -> GLStereoDownmix {
94        ObjectExt::property(self, "downmix-mode")
95    }
96
97    #[doc(alias = "downmix-mode")]
98    pub fn set_downmix_mode(&self, downmix_mode: GLStereoDownmix) {
99        ObjectExt::set_property(self, "downmix-mode", downmix_mode)
100    }
101
102    #[doc(alias = "input-flags-override")]
103    pub fn input_flags_override(&self) -> gst_video::VideoMultiviewFlags {
104        ObjectExt::property(self, "input-flags-override")
105    }
106
107    #[doc(alias = "input-flags-override")]
108    pub fn set_input_flags_override(&self, input_flags_override: gst_video::VideoMultiviewFlags) {
109        ObjectExt::set_property(self, "input-flags-override", input_flags_override)
110    }
111
112    #[doc(alias = "input-mode-override")]
113    pub fn input_mode_override(&self) -> gst_video::VideoMultiviewMode {
114        ObjectExt::property(self, "input-mode-override")
115    }
116
117    #[doc(alias = "input-mode-override")]
118    pub fn set_input_mode_override(&self, input_mode_override: gst_video::VideoMultiviewMode) {
119        ObjectExt::set_property(self, "input-mode-override", input_mode_override)
120    }
121
122    #[doc(alias = "output-flags-override")]
123    pub fn output_flags_override(&self) -> gst_video::VideoMultiviewFlags {
124        ObjectExt::property(self, "output-flags-override")
125    }
126
127    #[doc(alias = "output-flags-override")]
128    pub fn set_output_flags_override(&self, output_flags_override: gst_video::VideoMultiviewFlags) {
129        ObjectExt::set_property(self, "output-flags-override", output_flags_override)
130    }
131
132    #[doc(alias = "output-mode-override")]
133    pub fn output_mode_override(&self) -> gst_video::VideoMultiviewMode {
134        ObjectExt::property(self, "output-mode-override")
135    }
136
137    #[doc(alias = "output-mode-override")]
138    pub fn set_output_mode_override(&self, output_mode_override: gst_video::VideoMultiviewMode) {
139        ObjectExt::set_property(self, "output-mode-override", output_mode_override)
140    }
141
142    #[doc(alias = "downmix-mode")]
143    pub fn connect_downmix_mode_notify<F: Fn(&Self) + Send + Sync + 'static>(
144        &self,
145        f: F,
146    ) -> SignalHandlerId {
147        unsafe extern "C" fn notify_downmix_mode_trampoline<
148            F: Fn(&GLViewConvert) + Send + Sync + 'static,
149        >(
150            this: *mut ffi::GstGLViewConvert,
151            _param_spec: glib::ffi::gpointer,
152            f: glib::ffi::gpointer,
153        ) {
154            let f: &F = &*(f as *const F);
155            f(&from_glib_borrow(this))
156        }
157        unsafe {
158            let f: Box_<F> = Box_::new(f);
159            connect_raw(
160                self.as_ptr() as *mut _,
161                b"notify::downmix-mode\0".as_ptr() as *const _,
162                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
163                    notify_downmix_mode_trampoline::<F> as *const (),
164                )),
165                Box_::into_raw(f),
166            )
167        }
168    }
169
170    #[doc(alias = "input-flags-override")]
171    pub fn connect_input_flags_override_notify<F: Fn(&Self) + Send + Sync + 'static>(
172        &self,
173        f: F,
174    ) -> SignalHandlerId {
175        unsafe extern "C" fn notify_input_flags_override_trampoline<
176            F: Fn(&GLViewConvert) + Send + Sync + 'static,
177        >(
178            this: *mut ffi::GstGLViewConvert,
179            _param_spec: glib::ffi::gpointer,
180            f: glib::ffi::gpointer,
181        ) {
182            let f: &F = &*(f as *const F);
183            f(&from_glib_borrow(this))
184        }
185        unsafe {
186            let f: Box_<F> = Box_::new(f);
187            connect_raw(
188                self.as_ptr() as *mut _,
189                b"notify::input-flags-override\0".as_ptr() as *const _,
190                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
191                    notify_input_flags_override_trampoline::<F> as *const (),
192                )),
193                Box_::into_raw(f),
194            )
195        }
196    }
197
198    #[doc(alias = "input-mode-override")]
199    pub fn connect_input_mode_override_notify<F: Fn(&Self) + Send + Sync + 'static>(
200        &self,
201        f: F,
202    ) -> SignalHandlerId {
203        unsafe extern "C" fn notify_input_mode_override_trampoline<
204            F: Fn(&GLViewConvert) + Send + Sync + 'static,
205        >(
206            this: *mut ffi::GstGLViewConvert,
207            _param_spec: glib::ffi::gpointer,
208            f: glib::ffi::gpointer,
209        ) {
210            let f: &F = &*(f as *const F);
211            f(&from_glib_borrow(this))
212        }
213        unsafe {
214            let f: Box_<F> = Box_::new(f);
215            connect_raw(
216                self.as_ptr() as *mut _,
217                b"notify::input-mode-override\0".as_ptr() as *const _,
218                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
219                    notify_input_mode_override_trampoline::<F> as *const (),
220                )),
221                Box_::into_raw(f),
222            )
223        }
224    }
225
226    #[doc(alias = "output-flags-override")]
227    pub fn connect_output_flags_override_notify<F: Fn(&Self) + Send + Sync + 'static>(
228        &self,
229        f: F,
230    ) -> SignalHandlerId {
231        unsafe extern "C" fn notify_output_flags_override_trampoline<
232            F: Fn(&GLViewConvert) + Send + Sync + 'static,
233        >(
234            this: *mut ffi::GstGLViewConvert,
235            _param_spec: glib::ffi::gpointer,
236            f: glib::ffi::gpointer,
237        ) {
238            let f: &F = &*(f as *const F);
239            f(&from_glib_borrow(this))
240        }
241        unsafe {
242            let f: Box_<F> = Box_::new(f);
243            connect_raw(
244                self.as_ptr() as *mut _,
245                b"notify::output-flags-override\0".as_ptr() as *const _,
246                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
247                    notify_output_flags_override_trampoline::<F> as *const (),
248                )),
249                Box_::into_raw(f),
250            )
251        }
252    }
253
254    #[doc(alias = "output-mode-override")]
255    pub fn connect_output_mode_override_notify<F: Fn(&Self) + Send + Sync + 'static>(
256        &self,
257        f: F,
258    ) -> SignalHandlerId {
259        unsafe extern "C" fn notify_output_mode_override_trampoline<
260            F: Fn(&GLViewConvert) + Send + Sync + 'static,
261        >(
262            this: *mut ffi::GstGLViewConvert,
263            _param_spec: glib::ffi::gpointer,
264            f: glib::ffi::gpointer,
265        ) {
266            let f: &F = &*(f as *const F);
267            f(&from_glib_borrow(this))
268        }
269        unsafe {
270            let f: Box_<F> = Box_::new(f);
271            connect_raw(
272                self.as_ptr() as *mut _,
273                b"notify::output-mode-override\0".as_ptr() as *const _,
274                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
275                    notify_output_mode_override_trampoline::<F> as *const (),
276                )),
277                Box_::into_raw(f),
278            )
279        }
280    }
281}
282
283impl Default for GLViewConvert {
284    fn default() -> Self {
285        Self::new()
286    }
287}
288
289unsafe impl Send for GLViewConvert {}
290unsafe impl Sync for GLViewConvert {}