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 {}
291