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 | |
6 | use crate::{ffi, GLContext, GLSLProfile}; |
7 | use glib::{prelude::*, translate::*}; |
8 | |
9 | #[cfg (feature = "v1_20" )] |
10 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
11 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
12 | #[non_exhaustive ] |
13 | #[doc (alias = "GstGLConfigCaveat" )] |
14 | pub enum GLConfigCaveat { |
15 | #[doc (alias = "GST_GL_CONFIG_CAVEAT_NONE" )] |
16 | None, |
17 | #[doc (alias = "GST_GL_CONFIG_CAVEAT_SLOW" )] |
18 | Slow, |
19 | #[doc (alias = "GST_GL_CONFIG_CAVEAT_NON_CONFORMANT" )] |
20 | NonConformant, |
21 | #[doc (hidden)] |
22 | __Unknown(i32), |
23 | } |
24 | |
25 | #[cfg (feature = "v1_20" )] |
26 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
27 | impl GLConfigCaveat { |
28 | #[doc (alias = "gst_gl_config_caveat_to_string" )] |
29 | #[doc (alias = "to_string" )] |
30 | pub fn to_str(self) -> Option<glib::GString> { |
31 | assert_initialized_main_thread!(); |
32 | unsafe { from_glib_none(ffi::gst_gl_config_caveat_to_string(self.into_glib())) } |
33 | } |
34 | } |
35 | |
36 | #[cfg (feature = "v1_20" )] |
37 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
38 | #[doc (hidden)] |
39 | impl IntoGlib for GLConfigCaveat { |
40 | type GlibType = ffi::GstGLConfigCaveat; |
41 | |
42 | #[inline ] |
43 | fn into_glib(self) -> ffi::GstGLConfigCaveat { |
44 | match self { |
45 | Self::None => ffi::GST_GL_CONFIG_CAVEAT_NONE, |
46 | Self::Slow => ffi::GST_GL_CONFIG_CAVEAT_SLOW, |
47 | Self::NonConformant => ffi::GST_GL_CONFIG_CAVEAT_NON_CONFORMANT, |
48 | Self::__Unknown(value) => value, |
49 | } |
50 | } |
51 | } |
52 | |
53 | #[cfg (feature = "v1_20" )] |
54 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
55 | #[doc (hidden)] |
56 | impl FromGlib<ffi::GstGLConfigCaveat> for GLConfigCaveat { |
57 | #[inline ] |
58 | unsafe fn from_glib(value: ffi::GstGLConfigCaveat) -> Self { |
59 | skip_assert_initialized!(); |
60 | |
61 | match value { |
62 | ffi::GST_GL_CONFIG_CAVEAT_NONE => Self::None, |
63 | ffi::GST_GL_CONFIG_CAVEAT_SLOW => Self::Slow, |
64 | ffi::GST_GL_CONFIG_CAVEAT_NON_CONFORMANT => Self::NonConformant, |
65 | value => Self::__Unknown(value), |
66 | } |
67 | } |
68 | } |
69 | |
70 | #[cfg (feature = "v1_20" )] |
71 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
72 | impl StaticType for GLConfigCaveat { |
73 | #[inline ] |
74 | #[doc (alias = "gst_gl_config_caveat_get_type" )] |
75 | fn static_type() -> glib::Type { |
76 | unsafe { from_glib(ffi::gst_gl_config_caveat_get_type()) } |
77 | } |
78 | } |
79 | |
80 | #[cfg (feature = "v1_20" )] |
81 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
82 | impl glib::HasParamSpec for GLConfigCaveat { |
83 | type ParamSpec = glib::ParamSpecEnum; |
84 | type SetValue = Self; |
85 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
86 | |
87 | fn param_spec_builder() -> Self::BuilderFn { |
88 | Self::ParamSpec::builder_with_default |
89 | } |
90 | } |
91 | |
92 | #[cfg (feature = "v1_20" )] |
93 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
94 | impl glib::value::ValueType for GLConfigCaveat { |
95 | type Type = Self; |
96 | } |
97 | |
98 | #[cfg (feature = "v1_20" )] |
99 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
100 | unsafe impl<'a> glib::value::FromValue<'a> for GLConfigCaveat { |
101 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
102 | |
103 | #[inline ] |
104 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
105 | skip_assert_initialized!(); |
106 | from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
107 | } |
108 | } |
109 | |
110 | #[cfg (feature = "v1_20" )] |
111 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
112 | impl ToValue for GLConfigCaveat { |
113 | #[inline ] |
114 | fn to_value(&self) -> glib::Value { |
115 | let mut value = glib::Value::for_value_type::<Self>(); |
116 | unsafe { |
117 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
118 | } |
119 | value |
120 | } |
121 | |
122 | #[inline ] |
123 | fn value_type(&self) -> glib::Type { |
124 | Self::static_type() |
125 | } |
126 | } |
127 | |
128 | #[cfg (feature = "v1_20" )] |
129 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_20" )))] |
130 | impl From<GLConfigCaveat> for glib::Value { |
131 | #[inline ] |
132 | fn from(v: GLConfigCaveat) -> Self { |
133 | skip_assert_initialized!(); |
134 | ToValue::to_value(&v) |
135 | } |
136 | } |
137 | |
138 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
139 | #[non_exhaustive ] |
140 | #[doc (alias = "GstGLContextError" )] |
141 | pub enum GLContextError { |
142 | #[doc (alias = "GST_GL_CONTEXT_ERROR_FAILED" )] |
143 | Failed, |
144 | #[doc (alias = "GST_GL_CONTEXT_ERROR_WRONG_CONFIG" )] |
145 | WrongConfig, |
146 | #[doc (alias = "GST_GL_CONTEXT_ERROR_WRONG_API" )] |
147 | WrongApi, |
148 | #[doc (alias = "GST_GL_CONTEXT_ERROR_OLD_LIBS" )] |
149 | OldLibs, |
150 | #[doc (alias = "GST_GL_CONTEXT_ERROR_CREATE_CONTEXT" )] |
151 | CreateContext, |
152 | #[doc (alias = "GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE" )] |
153 | ResourceUnavailable, |
154 | #[doc (hidden)] |
155 | __Unknown(i32), |
156 | } |
157 | |
158 | #[doc (hidden)] |
159 | impl IntoGlib for GLContextError { |
160 | type GlibType = ffi::GstGLContextError; |
161 | |
162 | #[inline ] |
163 | fn into_glib(self) -> ffi::GstGLContextError { |
164 | match self { |
165 | Self::Failed => ffi::GST_GL_CONTEXT_ERROR_FAILED, |
166 | Self::WrongConfig => ffi::GST_GL_CONTEXT_ERROR_WRONG_CONFIG, |
167 | Self::WrongApi => ffi::GST_GL_CONTEXT_ERROR_WRONG_API, |
168 | Self::OldLibs => ffi::GST_GL_CONTEXT_ERROR_OLD_LIBS, |
169 | Self::CreateContext => ffi::GST_GL_CONTEXT_ERROR_CREATE_CONTEXT, |
170 | Self::ResourceUnavailable => ffi::GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE, |
171 | Self::__Unknown(value: i32) => value, |
172 | } |
173 | } |
174 | } |
175 | |
176 | #[doc (hidden)] |
177 | impl FromGlib<ffi::GstGLContextError> for GLContextError { |
178 | #[inline ] |
179 | unsafe fn from_glib(value: ffi::GstGLContextError) -> Self { |
180 | skip_assert_initialized!(); |
181 | |
182 | match value { |
183 | ffi::GST_GL_CONTEXT_ERROR_FAILED => Self::Failed, |
184 | ffi::GST_GL_CONTEXT_ERROR_WRONG_CONFIG => Self::WrongConfig, |
185 | ffi::GST_GL_CONTEXT_ERROR_WRONG_API => Self::WrongApi, |
186 | ffi::GST_GL_CONTEXT_ERROR_OLD_LIBS => Self::OldLibs, |
187 | ffi::GST_GL_CONTEXT_ERROR_CREATE_CONTEXT => Self::CreateContext, |
188 | ffi::GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE => Self::ResourceUnavailable, |
189 | value: i32 => Self::__Unknown(value), |
190 | } |
191 | } |
192 | } |
193 | |
194 | impl glib::error::ErrorDomain for GLContextError { |
195 | #[inline ] |
196 | fn domain() -> glib::Quark { |
197 | skip_assert_initialized!(); |
198 | |
199 | unsafe { from_glib(val:ffi::gst_gl_context_error_quark()) } |
200 | } |
201 | |
202 | #[inline ] |
203 | fn code(self) -> i32 { |
204 | self.into_glib() |
205 | } |
206 | |
207 | #[inline ] |
208 | #[allow (clippy::match_single_binding)] |
209 | fn from(code: i32) -> Option<Self> { |
210 | skip_assert_initialized!(); |
211 | match unsafe { from_glib(val:code) } { |
212 | Self::__Unknown(_) => Some(Self::Failed), |
213 | value: GLContextError => Some(value), |
214 | } |
215 | } |
216 | } |
217 | |
218 | impl StaticType for GLContextError { |
219 | #[inline ] |
220 | #[doc (alias = "gst_gl_context_error_get_type" )] |
221 | fn static_type() -> glib::Type { |
222 | unsafe { from_glib(val:ffi::gst_gl_context_error_get_type()) } |
223 | } |
224 | } |
225 | |
226 | impl glib::HasParamSpec for GLContextError { |
227 | type ParamSpec = glib::ParamSpecEnum; |
228 | type SetValue = Self; |
229 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
230 | |
231 | fn param_spec_builder() -> Self::BuilderFn { |
232 | Self::ParamSpec::builder_with_default |
233 | } |
234 | } |
235 | |
236 | impl glib::value::ValueType for GLContextError { |
237 | type Type = Self; |
238 | } |
239 | |
240 | unsafe impl<'a> glib::value::FromValue<'a> for GLContextError { |
241 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
242 | |
243 | #[inline ] |
244 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
245 | skip_assert_initialized!(); |
246 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
247 | } |
248 | } |
249 | |
250 | impl ToValue for GLContextError { |
251 | #[inline ] |
252 | fn to_value(&self) -> glib::Value { |
253 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
254 | unsafe { |
255 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
256 | } |
257 | value |
258 | } |
259 | |
260 | #[inline ] |
261 | fn value_type(&self) -> glib::Type { |
262 | Self::static_type() |
263 | } |
264 | } |
265 | |
266 | impl From<GLContextError> for glib::Value { |
267 | #[inline ] |
268 | fn from(v: GLContextError) -> Self { |
269 | skip_assert_initialized!(); |
270 | ToValue::to_value(&v) |
271 | } |
272 | } |
273 | |
274 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
275 | #[non_exhaustive ] |
276 | #[doc (alias = "GstGLFormat" )] |
277 | pub enum GLFormat { |
278 | #[doc (alias = "GST_GL_LUMINANCE" )] |
279 | Luminance, |
280 | #[doc (alias = "GST_GL_ALPHA" )] |
281 | Alpha, |
282 | #[doc (alias = "GST_GL_LUMINANCE_ALPHA" )] |
283 | LuminanceAlpha, |
284 | #[doc (alias = "GST_GL_RED" )] |
285 | Red, |
286 | #[doc (alias = "GST_GL_R8" )] |
287 | R8, |
288 | #[doc (alias = "GST_GL_RG" )] |
289 | Rg, |
290 | #[doc (alias = "GST_GL_RG8" )] |
291 | Rg8, |
292 | #[doc (alias = "GST_GL_RGB" )] |
293 | Rgb, |
294 | #[doc (alias = "GST_GL_RGB8" )] |
295 | Rgb8, |
296 | #[doc (alias = "GST_GL_RGB565" )] |
297 | Rgb565, |
298 | #[doc (alias = "GST_GL_RGB16" )] |
299 | Rgb16, |
300 | #[doc (alias = "GST_GL_RGBA" )] |
301 | Rgba, |
302 | #[doc (alias = "GST_GL_RGBA8" )] |
303 | Rgba8, |
304 | #[doc (alias = "GST_GL_RGBA16" )] |
305 | Rgba16, |
306 | #[doc (alias = "GST_GL_DEPTH_COMPONENT16" )] |
307 | DepthComponent16, |
308 | #[doc (alias = "GST_GL_DEPTH24_STENCIL8" )] |
309 | Depth24Stencil8, |
310 | #[doc (alias = "GST_GL_RGB10_A2" )] |
311 | Rgb10A2, |
312 | #[doc (alias = "GST_GL_R16" )] |
313 | R16, |
314 | #[doc (alias = "GST_GL_RG16" )] |
315 | Rg16, |
316 | #[doc (hidden)] |
317 | __Unknown(i32), |
318 | } |
319 | |
320 | impl GLFormat { |
321 | #[doc (alias = "gst_gl_format_from_video_info" )] |
322 | pub fn from_video_info( |
323 | context: &impl IsA<GLContext>, |
324 | vinfo: &gst_video::VideoInfo, |
325 | plane: u32, |
326 | ) -> GLFormat { |
327 | skip_assert_initialized!(); |
328 | unsafe { |
329 | from_glib(ffi::gst_gl_format_from_video_info( |
330 | context.as_ref().to_glib_none().0, |
331 | vinfo.to_glib_none().0, |
332 | plane, |
333 | )) |
334 | } |
335 | } |
336 | |
337 | #[cfg (feature = "v1_16" )] |
338 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_16" )))] |
339 | #[doc (alias = "gst_gl_format_is_supported" )] |
340 | pub fn is_supported(context: &impl IsA<GLContext>, format: GLFormat) -> bool { |
341 | skip_assert_initialized!(); |
342 | unsafe { |
343 | from_glib(ffi::gst_gl_format_is_supported( |
344 | context.as_ref().to_glib_none().0, |
345 | format.into_glib(), |
346 | )) |
347 | } |
348 | } |
349 | |
350 | #[cfg (feature = "v1_24" )] |
351 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_24" )))] |
352 | #[doc (alias = "gst_gl_format_n_components" )] |
353 | pub fn n_components(self) -> u32 { |
354 | assert_initialized_main_thread!(); |
355 | unsafe { ffi::gst_gl_format_n_components(self.into_glib()) } |
356 | } |
357 | |
358 | #[cfg (feature = "v1_16" )] |
359 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_16" )))] |
360 | #[doc (alias = "gst_gl_format_type_from_sized_gl_format" )] |
361 | pub fn type_from_sized_gl_format(self) -> (GLFormat, u32) { |
362 | assert_initialized_main_thread!(); |
363 | unsafe { |
364 | let mut unsized_format = std::mem::MaybeUninit::uninit(); |
365 | let mut gl_type = std::mem::MaybeUninit::uninit(); |
366 | ffi::gst_gl_format_type_from_sized_gl_format( |
367 | self.into_glib(), |
368 | unsized_format.as_mut_ptr(), |
369 | gl_type.as_mut_ptr(), |
370 | ); |
371 | ( |
372 | from_glib(unsized_format.assume_init()), |
373 | gl_type.assume_init(), |
374 | ) |
375 | } |
376 | } |
377 | |
378 | #[doc (alias = "gst_gl_format_type_n_bytes" )] |
379 | pub fn type_n_bytes(format: u32, type_: u32) -> u32 { |
380 | assert_initialized_main_thread!(); |
381 | unsafe { ffi::gst_gl_format_type_n_bytes(format, type_) } |
382 | } |
383 | } |
384 | |
385 | #[doc (hidden)] |
386 | impl IntoGlib for GLFormat { |
387 | type GlibType = ffi::GstGLFormat; |
388 | |
389 | fn into_glib(self) -> ffi::GstGLFormat { |
390 | match self { |
391 | Self::Luminance => ffi::GST_GL_LUMINANCE, |
392 | Self::Alpha => ffi::GST_GL_ALPHA, |
393 | Self::LuminanceAlpha => ffi::GST_GL_LUMINANCE_ALPHA, |
394 | Self::Red => ffi::GST_GL_RED, |
395 | Self::R8 => ffi::GST_GL_R8, |
396 | Self::Rg => ffi::GST_GL_RG, |
397 | Self::Rg8 => ffi::GST_GL_RG8, |
398 | Self::Rgb => ffi::GST_GL_RGB, |
399 | Self::Rgb8 => ffi::GST_GL_RGB8, |
400 | Self::Rgb565 => ffi::GST_GL_RGB565, |
401 | Self::Rgb16 => ffi::GST_GL_RGB16, |
402 | Self::Rgba => ffi::GST_GL_RGBA, |
403 | Self::Rgba8 => ffi::GST_GL_RGBA8, |
404 | Self::Rgba16 => ffi::GST_GL_RGBA16, |
405 | Self::DepthComponent16 => ffi::GST_GL_DEPTH_COMPONENT16, |
406 | Self::Depth24Stencil8 => ffi::GST_GL_DEPTH24_STENCIL8, |
407 | Self::Rgb10A2 => ffi::GST_GL_RGB10_A2, |
408 | Self::R16 => ffi::GST_GL_R16, |
409 | Self::Rg16 => ffi::GST_GL_RG16, |
410 | Self::__Unknown(value) => value, |
411 | } |
412 | } |
413 | } |
414 | |
415 | #[doc (hidden)] |
416 | impl FromGlib<ffi::GstGLFormat> for GLFormat { |
417 | unsafe fn from_glib(value: ffi::GstGLFormat) -> Self { |
418 | skip_assert_initialized!(); |
419 | |
420 | match value { |
421 | ffi::GST_GL_LUMINANCE => Self::Luminance, |
422 | ffi::GST_GL_ALPHA => Self::Alpha, |
423 | ffi::GST_GL_LUMINANCE_ALPHA => Self::LuminanceAlpha, |
424 | ffi::GST_GL_RED => Self::Red, |
425 | ffi::GST_GL_R8 => Self::R8, |
426 | ffi::GST_GL_RG => Self::Rg, |
427 | ffi::GST_GL_RG8 => Self::Rg8, |
428 | ffi::GST_GL_RGB => Self::Rgb, |
429 | ffi::GST_GL_RGB8 => Self::Rgb8, |
430 | ffi::GST_GL_RGB565 => Self::Rgb565, |
431 | ffi::GST_GL_RGB16 => Self::Rgb16, |
432 | ffi::GST_GL_RGBA => Self::Rgba, |
433 | ffi::GST_GL_RGBA8 => Self::Rgba8, |
434 | ffi::GST_GL_RGBA16 => Self::Rgba16, |
435 | ffi::GST_GL_DEPTH_COMPONENT16 => Self::DepthComponent16, |
436 | ffi::GST_GL_DEPTH24_STENCIL8 => Self::Depth24Stencil8, |
437 | ffi::GST_GL_RGB10_A2 => Self::Rgb10A2, |
438 | ffi::GST_GL_R16 => Self::R16, |
439 | ffi::GST_GL_RG16 => Self::Rg16, |
440 | value => Self::__Unknown(value), |
441 | } |
442 | } |
443 | } |
444 | |
445 | impl StaticType for GLFormat { |
446 | #[inline ] |
447 | #[doc (alias = "gst_gl_format_get_type" )] |
448 | fn static_type() -> glib::Type { |
449 | unsafe { from_glib(val:ffi::gst_gl_format_get_type()) } |
450 | } |
451 | } |
452 | |
453 | impl glib::HasParamSpec for GLFormat { |
454 | type ParamSpec = glib::ParamSpecEnum; |
455 | type SetValue = Self; |
456 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
457 | |
458 | fn param_spec_builder() -> Self::BuilderFn { |
459 | Self::ParamSpec::builder_with_default |
460 | } |
461 | } |
462 | |
463 | impl glib::value::ValueType for GLFormat { |
464 | type Type = Self; |
465 | } |
466 | |
467 | unsafe impl<'a> glib::value::FromValue<'a> for GLFormat { |
468 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
469 | |
470 | #[inline ] |
471 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
472 | skip_assert_initialized!(); |
473 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
474 | } |
475 | } |
476 | |
477 | impl ToValue for GLFormat { |
478 | #[inline ] |
479 | fn to_value(&self) -> glib::Value { |
480 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
481 | unsafe { |
482 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
483 | } |
484 | value |
485 | } |
486 | |
487 | #[inline ] |
488 | fn value_type(&self) -> glib::Type { |
489 | Self::static_type() |
490 | } |
491 | } |
492 | |
493 | impl From<GLFormat> for glib::Value { |
494 | #[inline ] |
495 | fn from(v: GLFormat) -> Self { |
496 | skip_assert_initialized!(); |
497 | ToValue::to_value(&v) |
498 | } |
499 | } |
500 | |
501 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
502 | #[non_exhaustive ] |
503 | #[doc (alias = "GstGLQueryType" )] |
504 | pub enum GLQueryType { |
505 | #[doc (alias = "GST_GL_QUERY_NONE" )] |
506 | None, |
507 | #[doc (alias = "GST_GL_QUERY_TIME_ELAPSED" )] |
508 | TimeElapsed, |
509 | #[doc (alias = "GST_GL_QUERY_TIMESTAMP" )] |
510 | Timestamp, |
511 | #[doc (hidden)] |
512 | __Unknown(i32), |
513 | } |
514 | |
515 | #[doc (hidden)] |
516 | impl IntoGlib for GLQueryType { |
517 | type GlibType = ffi::GstGLQueryType; |
518 | |
519 | #[inline ] |
520 | fn into_glib(self) -> ffi::GstGLQueryType { |
521 | match self { |
522 | Self::None => ffi::GST_GL_QUERY_NONE, |
523 | Self::TimeElapsed => ffi::GST_GL_QUERY_TIME_ELAPSED, |
524 | Self::Timestamp => ffi::GST_GL_QUERY_TIMESTAMP, |
525 | Self::__Unknown(value: i32) => value, |
526 | } |
527 | } |
528 | } |
529 | |
530 | #[doc (hidden)] |
531 | impl FromGlib<ffi::GstGLQueryType> for GLQueryType { |
532 | #[inline ] |
533 | unsafe fn from_glib(value: ffi::GstGLQueryType) -> Self { |
534 | skip_assert_initialized!(); |
535 | |
536 | match value { |
537 | ffi::GST_GL_QUERY_NONE => Self::None, |
538 | ffi::GST_GL_QUERY_TIME_ELAPSED => Self::TimeElapsed, |
539 | ffi::GST_GL_QUERY_TIMESTAMP => Self::Timestamp, |
540 | value: i32 => Self::__Unknown(value), |
541 | } |
542 | } |
543 | } |
544 | |
545 | impl StaticType for GLQueryType { |
546 | #[inline ] |
547 | #[doc (alias = "gst_gl_query_type_get_type" )] |
548 | fn static_type() -> glib::Type { |
549 | unsafe { from_glib(val:ffi::gst_gl_query_type_get_type()) } |
550 | } |
551 | } |
552 | |
553 | impl glib::HasParamSpec for GLQueryType { |
554 | type ParamSpec = glib::ParamSpecEnum; |
555 | type SetValue = Self; |
556 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
557 | |
558 | fn param_spec_builder() -> Self::BuilderFn { |
559 | Self::ParamSpec::builder_with_default |
560 | } |
561 | } |
562 | |
563 | impl glib::value::ValueType for GLQueryType { |
564 | type Type = Self; |
565 | } |
566 | |
567 | unsafe impl<'a> glib::value::FromValue<'a> for GLQueryType { |
568 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
569 | |
570 | #[inline ] |
571 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
572 | skip_assert_initialized!(); |
573 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
574 | } |
575 | } |
576 | |
577 | impl ToValue for GLQueryType { |
578 | #[inline ] |
579 | fn to_value(&self) -> glib::Value { |
580 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
581 | unsafe { |
582 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
583 | } |
584 | value |
585 | } |
586 | |
587 | #[inline ] |
588 | fn value_type(&self) -> glib::Type { |
589 | Self::static_type() |
590 | } |
591 | } |
592 | |
593 | impl From<GLQueryType> for glib::Value { |
594 | #[inline ] |
595 | fn from(v: GLQueryType) -> Self { |
596 | skip_assert_initialized!(); |
597 | ToValue::to_value(&v) |
598 | } |
599 | } |
600 | |
601 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
602 | #[non_exhaustive ] |
603 | #[doc (alias = "GstGLSLError" )] |
604 | pub enum GLSLError { |
605 | #[doc (alias = "GST_GLSL_ERROR_COMPILE" )] |
606 | Compile, |
607 | #[doc (alias = "GST_GLSL_ERROR_LINK" )] |
608 | Link, |
609 | #[doc (alias = "GST_GLSL_ERROR_PROGRAM" )] |
610 | Program, |
611 | #[doc (hidden)] |
612 | __Unknown(i32), |
613 | } |
614 | |
615 | #[doc (hidden)] |
616 | impl IntoGlib for GLSLError { |
617 | type GlibType = ffi::GstGLSLError; |
618 | |
619 | #[inline ] |
620 | fn into_glib(self) -> ffi::GstGLSLError { |
621 | match self { |
622 | Self::Compile => ffi::GST_GLSL_ERROR_COMPILE, |
623 | Self::Link => ffi::GST_GLSL_ERROR_LINK, |
624 | Self::Program => ffi::GST_GLSL_ERROR_PROGRAM, |
625 | Self::__Unknown(value: i32) => value, |
626 | } |
627 | } |
628 | } |
629 | |
630 | #[doc (hidden)] |
631 | impl FromGlib<ffi::GstGLSLError> for GLSLError { |
632 | #[inline ] |
633 | unsafe fn from_glib(value: ffi::GstGLSLError) -> Self { |
634 | skip_assert_initialized!(); |
635 | |
636 | match value { |
637 | ffi::GST_GLSL_ERROR_COMPILE => Self::Compile, |
638 | ffi::GST_GLSL_ERROR_LINK => Self::Link, |
639 | ffi::GST_GLSL_ERROR_PROGRAM => Self::Program, |
640 | value: i32 => Self::__Unknown(value), |
641 | } |
642 | } |
643 | } |
644 | |
645 | impl glib::error::ErrorDomain for GLSLError { |
646 | #[inline ] |
647 | fn domain() -> glib::Quark { |
648 | skip_assert_initialized!(); |
649 | |
650 | unsafe { from_glib(val:ffi::gst_glsl_error_quark()) } |
651 | } |
652 | |
653 | #[inline ] |
654 | fn code(self) -> i32 { |
655 | self.into_glib() |
656 | } |
657 | |
658 | #[inline ] |
659 | #[allow (clippy::match_single_binding)] |
660 | fn from(code: i32) -> Option<Self> { |
661 | skip_assert_initialized!(); |
662 | match unsafe { from_glib(val:code) } { |
663 | value: GLSLError => Some(value), |
664 | } |
665 | } |
666 | } |
667 | |
668 | impl StaticType for GLSLError { |
669 | #[inline ] |
670 | #[doc (alias = "gst_glsl_error_get_type" )] |
671 | fn static_type() -> glib::Type { |
672 | unsafe { from_glib(val:ffi::gst_glsl_error_get_type()) } |
673 | } |
674 | } |
675 | |
676 | impl glib::HasParamSpec for GLSLError { |
677 | type ParamSpec = glib::ParamSpecEnum; |
678 | type SetValue = Self; |
679 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
680 | |
681 | fn param_spec_builder() -> Self::BuilderFn { |
682 | Self::ParamSpec::builder_with_default |
683 | } |
684 | } |
685 | |
686 | impl glib::value::ValueType for GLSLError { |
687 | type Type = Self; |
688 | } |
689 | |
690 | unsafe impl<'a> glib::value::FromValue<'a> for GLSLError { |
691 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
692 | |
693 | #[inline ] |
694 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
695 | skip_assert_initialized!(); |
696 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
697 | } |
698 | } |
699 | |
700 | impl ToValue for GLSLError { |
701 | #[inline ] |
702 | fn to_value(&self) -> glib::Value { |
703 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
704 | unsafe { |
705 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
706 | } |
707 | value |
708 | } |
709 | |
710 | #[inline ] |
711 | fn value_type(&self) -> glib::Type { |
712 | Self::static_type() |
713 | } |
714 | } |
715 | |
716 | impl From<GLSLError> for glib::Value { |
717 | #[inline ] |
718 | fn from(v: GLSLError) -> Self { |
719 | skip_assert_initialized!(); |
720 | ToValue::to_value(&v) |
721 | } |
722 | } |
723 | |
724 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
725 | #[non_exhaustive ] |
726 | #[doc (alias = "GstGLSLVersion" )] |
727 | pub enum GLSLVersion { |
728 | #[doc (alias = "GST_GLSL_VERSION_NONE" )] |
729 | None, |
730 | #[doc (alias = "GST_GLSL_VERSION_100" )] |
731 | _100, |
732 | #[doc (alias = "GST_GLSL_VERSION_110" )] |
733 | _110, |
734 | #[doc (alias = "GST_GLSL_VERSION_120" )] |
735 | _120, |
736 | #[doc (alias = "GST_GLSL_VERSION_130" )] |
737 | _130, |
738 | #[doc (alias = "GST_GLSL_VERSION_140" )] |
739 | _140, |
740 | #[doc (alias = "GST_GLSL_VERSION_150" )] |
741 | _150, |
742 | #[doc (alias = "GST_GLSL_VERSION_300" )] |
743 | _300, |
744 | #[doc (alias = "GST_GLSL_VERSION_310" )] |
745 | _310, |
746 | #[doc (alias = "GST_GLSL_VERSION_320" )] |
747 | _320, |
748 | #[doc (alias = "GST_GLSL_VERSION_330" )] |
749 | _330, |
750 | #[doc (alias = "GST_GLSL_VERSION_400" )] |
751 | _400, |
752 | #[doc (alias = "GST_GLSL_VERSION_410" )] |
753 | _410, |
754 | #[doc (alias = "GST_GLSL_VERSION_420" )] |
755 | _420, |
756 | #[doc (alias = "GST_GLSL_VERSION_430" )] |
757 | _430, |
758 | #[doc (alias = "GST_GLSL_VERSION_440" )] |
759 | _440, |
760 | #[doc (alias = "GST_GLSL_VERSION_450" )] |
761 | _450, |
762 | #[doc (hidden)] |
763 | __Unknown(i32), |
764 | } |
765 | |
766 | impl GLSLVersion { |
767 | #[doc (alias = "gst_glsl_version_from_string" )] |
768 | pub fn from_string(string: &str) -> GLSLVersion { |
769 | assert_initialized_main_thread!(); |
770 | unsafe { from_glib(ffi::gst_glsl_version_from_string(string.to_glib_none().0)) } |
771 | } |
772 | |
773 | #[doc (alias = "gst_glsl_version_profile_from_string" )] |
774 | pub fn profile_from_string(string: &str) -> Option<(GLSLVersion, GLSLProfile)> { |
775 | assert_initialized_main_thread!(); |
776 | unsafe { |
777 | let mut version_ret = std::mem::MaybeUninit::uninit(); |
778 | let mut profile_ret = std::mem::MaybeUninit::uninit(); |
779 | let ret = from_glib(ffi::gst_glsl_version_profile_from_string( |
780 | string.to_glib_none().0, |
781 | version_ret.as_mut_ptr(), |
782 | profile_ret.as_mut_ptr(), |
783 | )); |
784 | if ret { |
785 | Some(( |
786 | from_glib(version_ret.assume_init()), |
787 | from_glib(profile_ret.assume_init()), |
788 | )) |
789 | } else { |
790 | None |
791 | } |
792 | } |
793 | } |
794 | |
795 | #[doc (alias = "gst_glsl_version_profile_to_string" )] |
796 | pub fn profile_to_string(self, profile: GLSLProfile) -> Option<glib::GString> { |
797 | assert_initialized_main_thread!(); |
798 | unsafe { |
799 | from_glib_full(ffi::gst_glsl_version_profile_to_string( |
800 | self.into_glib(), |
801 | profile.into_glib(), |
802 | )) |
803 | } |
804 | } |
805 | |
806 | #[doc (alias = "gst_glsl_version_to_string" )] |
807 | #[doc (alias = "to_string" )] |
808 | pub fn to_str(self) -> Option<glib::GString> { |
809 | assert_initialized_main_thread!(); |
810 | unsafe { from_glib_none(ffi::gst_glsl_version_to_string(self.into_glib())) } |
811 | } |
812 | } |
813 | |
814 | #[doc (hidden)] |
815 | impl IntoGlib for GLSLVersion { |
816 | type GlibType = ffi::GstGLSLVersion; |
817 | |
818 | fn into_glib(self) -> ffi::GstGLSLVersion { |
819 | match self { |
820 | Self::None => ffi::GST_GLSL_VERSION_NONE, |
821 | Self::_100 => ffi::GST_GLSL_VERSION_100, |
822 | Self::_110 => ffi::GST_GLSL_VERSION_110, |
823 | Self::_120 => ffi::GST_GLSL_VERSION_120, |
824 | Self::_130 => ffi::GST_GLSL_VERSION_130, |
825 | Self::_140 => ffi::GST_GLSL_VERSION_140, |
826 | Self::_150 => ffi::GST_GLSL_VERSION_150, |
827 | Self::_300 => ffi::GST_GLSL_VERSION_300, |
828 | Self::_310 => ffi::GST_GLSL_VERSION_310, |
829 | Self::_320 => ffi::GST_GLSL_VERSION_320, |
830 | Self::_330 => ffi::GST_GLSL_VERSION_330, |
831 | Self::_400 => ffi::GST_GLSL_VERSION_400, |
832 | Self::_410 => ffi::GST_GLSL_VERSION_410, |
833 | Self::_420 => ffi::GST_GLSL_VERSION_420, |
834 | Self::_430 => ffi::GST_GLSL_VERSION_430, |
835 | Self::_440 => ffi::GST_GLSL_VERSION_440, |
836 | Self::_450 => ffi::GST_GLSL_VERSION_450, |
837 | Self::__Unknown(value) => value, |
838 | } |
839 | } |
840 | } |
841 | |
842 | #[doc (hidden)] |
843 | impl FromGlib<ffi::GstGLSLVersion> for GLSLVersion { |
844 | unsafe fn from_glib(value: ffi::GstGLSLVersion) -> Self { |
845 | skip_assert_initialized!(); |
846 | |
847 | match value { |
848 | ffi::GST_GLSL_VERSION_NONE => Self::None, |
849 | ffi::GST_GLSL_VERSION_100 => Self::_100, |
850 | ffi::GST_GLSL_VERSION_110 => Self::_110, |
851 | ffi::GST_GLSL_VERSION_120 => Self::_120, |
852 | ffi::GST_GLSL_VERSION_130 => Self::_130, |
853 | ffi::GST_GLSL_VERSION_140 => Self::_140, |
854 | ffi::GST_GLSL_VERSION_150 => Self::_150, |
855 | ffi::GST_GLSL_VERSION_300 => Self::_300, |
856 | ffi::GST_GLSL_VERSION_310 => Self::_310, |
857 | ffi::GST_GLSL_VERSION_320 => Self::_320, |
858 | ffi::GST_GLSL_VERSION_330 => Self::_330, |
859 | ffi::GST_GLSL_VERSION_400 => Self::_400, |
860 | ffi::GST_GLSL_VERSION_410 => Self::_410, |
861 | ffi::GST_GLSL_VERSION_420 => Self::_420, |
862 | ffi::GST_GLSL_VERSION_430 => Self::_430, |
863 | ffi::GST_GLSL_VERSION_440 => Self::_440, |
864 | ffi::GST_GLSL_VERSION_450 => Self::_450, |
865 | value => Self::__Unknown(value), |
866 | } |
867 | } |
868 | } |
869 | |
870 | impl StaticType for GLSLVersion { |
871 | #[inline ] |
872 | #[doc (alias = "gst_glsl_version_get_type" )] |
873 | fn static_type() -> glib::Type { |
874 | unsafe { from_glib(val:ffi::gst_glsl_version_get_type()) } |
875 | } |
876 | } |
877 | |
878 | impl glib::HasParamSpec for GLSLVersion { |
879 | type ParamSpec = glib::ParamSpecEnum; |
880 | type SetValue = Self; |
881 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
882 | |
883 | fn param_spec_builder() -> Self::BuilderFn { |
884 | Self::ParamSpec::builder_with_default |
885 | } |
886 | } |
887 | |
888 | impl glib::value::ValueType for GLSLVersion { |
889 | type Type = Self; |
890 | } |
891 | |
892 | unsafe impl<'a> glib::value::FromValue<'a> for GLSLVersion { |
893 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
894 | |
895 | #[inline ] |
896 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
897 | skip_assert_initialized!(); |
898 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
899 | } |
900 | } |
901 | |
902 | impl ToValue for GLSLVersion { |
903 | #[inline ] |
904 | fn to_value(&self) -> glib::Value { |
905 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
906 | unsafe { |
907 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
908 | } |
909 | value |
910 | } |
911 | |
912 | #[inline ] |
913 | fn value_type(&self) -> glib::Type { |
914 | Self::static_type() |
915 | } |
916 | } |
917 | |
918 | impl From<GLSLVersion> for glib::Value { |
919 | #[inline ] |
920 | fn from(v: GLSLVersion) -> Self { |
921 | skip_assert_initialized!(); |
922 | ToValue::to_value(&v) |
923 | } |
924 | } |
925 | |
926 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
927 | #[non_exhaustive ] |
928 | #[doc (alias = "GstGLStereoDownmix" )] |
929 | pub enum GLStereoDownmix { |
930 | #[doc (alias = "GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS" )] |
931 | GreenMagentaDubois, |
932 | #[doc (alias = "GST_GL_STEREO_DOWNMIX_ANAGLYPH_RED_CYAN_DUBOIS" )] |
933 | RedCyanDubois, |
934 | #[doc (alias = "GST_GL_STEREO_DOWNMIX_ANAGLYPH_AMBER_BLUE_DUBOIS" )] |
935 | AmberBlueDubois, |
936 | #[doc (hidden)] |
937 | __Unknown(i32), |
938 | } |
939 | |
940 | #[doc (hidden)] |
941 | impl IntoGlib for GLStereoDownmix { |
942 | type GlibType = ffi::GstGLStereoDownmix; |
943 | |
944 | #[inline ] |
945 | fn into_glib(self) -> ffi::GstGLStereoDownmix { |
946 | match self { |
947 | Self::GreenMagentaDubois => ffi::GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS, |
948 | Self::RedCyanDubois => ffi::GST_GL_STEREO_DOWNMIX_ANAGLYPH_RED_CYAN_DUBOIS, |
949 | Self::AmberBlueDubois => ffi::GST_GL_STEREO_DOWNMIX_ANAGLYPH_AMBER_BLUE_DUBOIS, |
950 | Self::__Unknown(value: i32) => value, |
951 | } |
952 | } |
953 | } |
954 | |
955 | #[doc (hidden)] |
956 | impl FromGlib<ffi::GstGLStereoDownmix> for GLStereoDownmix { |
957 | #[inline ] |
958 | unsafe fn from_glib(value: ffi::GstGLStereoDownmix) -> Self { |
959 | skip_assert_initialized!(); |
960 | |
961 | match value { |
962 | ffi::GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS => Self::GreenMagentaDubois, |
963 | ffi::GST_GL_STEREO_DOWNMIX_ANAGLYPH_RED_CYAN_DUBOIS => Self::RedCyanDubois, |
964 | ffi::GST_GL_STEREO_DOWNMIX_ANAGLYPH_AMBER_BLUE_DUBOIS => Self::AmberBlueDubois, |
965 | value: i32 => Self::__Unknown(value), |
966 | } |
967 | } |
968 | } |
969 | |
970 | impl StaticType for GLStereoDownmix { |
971 | #[inline ] |
972 | #[doc (alias = "gst_gl_stereo_downmix_get_type" )] |
973 | fn static_type() -> glib::Type { |
974 | unsafe { from_glib(val:ffi::gst_gl_stereo_downmix_get_type()) } |
975 | } |
976 | } |
977 | |
978 | impl glib::HasParamSpec for GLStereoDownmix { |
979 | type ParamSpec = glib::ParamSpecEnum; |
980 | type SetValue = Self; |
981 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
982 | |
983 | fn param_spec_builder() -> Self::BuilderFn { |
984 | Self::ParamSpec::builder_with_default |
985 | } |
986 | } |
987 | |
988 | impl glib::value::ValueType for GLStereoDownmix { |
989 | type Type = Self; |
990 | } |
991 | |
992 | unsafe impl<'a> glib::value::FromValue<'a> for GLStereoDownmix { |
993 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
994 | |
995 | #[inline ] |
996 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
997 | skip_assert_initialized!(); |
998 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
999 | } |
1000 | } |
1001 | |
1002 | impl ToValue for GLStereoDownmix { |
1003 | #[inline ] |
1004 | fn to_value(&self) -> glib::Value { |
1005 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1006 | unsafe { |
1007 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1008 | } |
1009 | value |
1010 | } |
1011 | |
1012 | #[inline ] |
1013 | fn value_type(&self) -> glib::Type { |
1014 | Self::static_type() |
1015 | } |
1016 | } |
1017 | |
1018 | impl From<GLStereoDownmix> for glib::Value { |
1019 | #[inline ] |
1020 | fn from(v: GLStereoDownmix) -> Self { |
1021 | skip_assert_initialized!(); |
1022 | ToValue::to_value(&v) |
1023 | } |
1024 | } |
1025 | |
1026 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
1027 | #[non_exhaustive ] |
1028 | #[doc (alias = "GstGLTextureTarget" )] |
1029 | pub enum GLTextureTarget { |
1030 | #[doc (alias = "GST_GL_TEXTURE_TARGET_NONE" )] |
1031 | None, |
1032 | #[doc (alias = "GST_GL_TEXTURE_TARGET_2D" )] |
1033 | _2d, |
1034 | #[doc (alias = "GST_GL_TEXTURE_TARGET_RECTANGLE" )] |
1035 | Rectangle, |
1036 | #[doc (alias = "GST_GL_TEXTURE_TARGET_EXTERNAL_OES" )] |
1037 | ExternalOes, |
1038 | #[doc (hidden)] |
1039 | __Unknown(i32), |
1040 | } |
1041 | |
1042 | impl GLTextureTarget { |
1043 | #[doc (alias = "gst_gl_texture_target_from_gl" )] |
1044 | pub fn from_gl(target: u32) -> GLTextureTarget { |
1045 | assert_initialized_main_thread!(); |
1046 | unsafe { from_glib(ffi::gst_gl_texture_target_from_gl(target)) } |
1047 | } |
1048 | |
1049 | #[doc (alias = "gst_gl_texture_target_from_string" )] |
1050 | pub fn from_string(str: &str) -> GLTextureTarget { |
1051 | assert_initialized_main_thread!(); |
1052 | unsafe { from_glib(ffi::gst_gl_texture_target_from_string(str.to_glib_none().0)) } |
1053 | } |
1054 | |
1055 | #[doc (alias = "gst_gl_texture_target_to_buffer_pool_option" )] |
1056 | pub fn to_buffer_pool_option(self) -> Option<glib::GString> { |
1057 | assert_initialized_main_thread!(); |
1058 | unsafe { |
1059 | from_glib_none(ffi::gst_gl_texture_target_to_buffer_pool_option( |
1060 | self.into_glib(), |
1061 | )) |
1062 | } |
1063 | } |
1064 | |
1065 | #[doc (alias = "gst_gl_texture_target_to_gl" )] |
1066 | pub fn to_gl(self) -> u32 { |
1067 | assert_initialized_main_thread!(); |
1068 | unsafe { ffi::gst_gl_texture_target_to_gl(self.into_glib()) } |
1069 | } |
1070 | |
1071 | #[doc (alias = "gst_gl_texture_target_to_string" )] |
1072 | #[doc (alias = "to_string" )] |
1073 | pub fn to_str(self) -> Option<glib::GString> { |
1074 | assert_initialized_main_thread!(); |
1075 | unsafe { from_glib_none(ffi::gst_gl_texture_target_to_string(self.into_glib())) } |
1076 | } |
1077 | } |
1078 | |
1079 | #[doc (hidden)] |
1080 | impl IntoGlib for GLTextureTarget { |
1081 | type GlibType = ffi::GstGLTextureTarget; |
1082 | |
1083 | #[inline ] |
1084 | fn into_glib(self) -> ffi::GstGLTextureTarget { |
1085 | match self { |
1086 | Self::None => ffi::GST_GL_TEXTURE_TARGET_NONE, |
1087 | Self::_2d => ffi::GST_GL_TEXTURE_TARGET_2D, |
1088 | Self::Rectangle => ffi::GST_GL_TEXTURE_TARGET_RECTANGLE, |
1089 | Self::ExternalOes => ffi::GST_GL_TEXTURE_TARGET_EXTERNAL_OES, |
1090 | Self::__Unknown(value: i32) => value, |
1091 | } |
1092 | } |
1093 | } |
1094 | |
1095 | #[doc (hidden)] |
1096 | impl FromGlib<ffi::GstGLTextureTarget> for GLTextureTarget { |
1097 | #[inline ] |
1098 | unsafe fn from_glib(value: ffi::GstGLTextureTarget) -> Self { |
1099 | skip_assert_initialized!(); |
1100 | |
1101 | match value { |
1102 | ffi::GST_GL_TEXTURE_TARGET_NONE => Self::None, |
1103 | ffi::GST_GL_TEXTURE_TARGET_2D => Self::_2d, |
1104 | ffi::GST_GL_TEXTURE_TARGET_RECTANGLE => Self::Rectangle, |
1105 | ffi::GST_GL_TEXTURE_TARGET_EXTERNAL_OES => Self::ExternalOes, |
1106 | value: i32 => Self::__Unknown(value), |
1107 | } |
1108 | } |
1109 | } |
1110 | |
1111 | impl StaticType for GLTextureTarget { |
1112 | #[inline ] |
1113 | #[doc (alias = "gst_gl_texture_target_get_type" )] |
1114 | fn static_type() -> glib::Type { |
1115 | unsafe { from_glib(val:ffi::gst_gl_texture_target_get_type()) } |
1116 | } |
1117 | } |
1118 | |
1119 | impl glib::HasParamSpec for GLTextureTarget { |
1120 | type ParamSpec = glib::ParamSpecEnum; |
1121 | type SetValue = Self; |
1122 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1123 | |
1124 | fn param_spec_builder() -> Self::BuilderFn { |
1125 | Self::ParamSpec::builder_with_default |
1126 | } |
1127 | } |
1128 | |
1129 | impl glib::value::ValueType for GLTextureTarget { |
1130 | type Type = Self; |
1131 | } |
1132 | |
1133 | unsafe impl<'a> glib::value::FromValue<'a> for GLTextureTarget { |
1134 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1135 | |
1136 | #[inline ] |
1137 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1138 | skip_assert_initialized!(); |
1139 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1140 | } |
1141 | } |
1142 | |
1143 | impl ToValue for GLTextureTarget { |
1144 | #[inline ] |
1145 | fn to_value(&self) -> glib::Value { |
1146 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1147 | unsafe { |
1148 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1149 | } |
1150 | value |
1151 | } |
1152 | |
1153 | #[inline ] |
1154 | fn value_type(&self) -> glib::Type { |
1155 | Self::static_type() |
1156 | } |
1157 | } |
1158 | |
1159 | impl From<GLTextureTarget> for glib::Value { |
1160 | #[inline ] |
1161 | fn from(v: GLTextureTarget) -> Self { |
1162 | skip_assert_initialized!(); |
1163 | ToValue::to_value(&v) |
1164 | } |
1165 | } |
1166 | |
1167 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
1168 | #[non_exhaustive ] |
1169 | #[doc (alias = "GstGLUploadReturn" )] |
1170 | pub enum GLUploadReturn { |
1171 | #[doc (alias = "GST_GL_UPLOAD_DONE" )] |
1172 | Done, |
1173 | #[doc (alias = "GST_GL_UPLOAD_ERROR" )] |
1174 | Error, |
1175 | #[doc (alias = "GST_GL_UPLOAD_UNSUPPORTED" )] |
1176 | Unsupported, |
1177 | #[doc (alias = "GST_GL_UPLOAD_RECONFIGURE" )] |
1178 | Reconfigure, |
1179 | #[doc (alias = "GST_GL_UPLOAD_UNSHARED_GL_CONTEXT" )] |
1180 | UnsharedGlContext, |
1181 | #[doc (hidden)] |
1182 | __Unknown(i32), |
1183 | } |
1184 | |
1185 | #[doc (hidden)] |
1186 | impl IntoGlib for GLUploadReturn { |
1187 | type GlibType = ffi::GstGLUploadReturn; |
1188 | |
1189 | #[inline ] |
1190 | fn into_glib(self) -> ffi::GstGLUploadReturn { |
1191 | match self { |
1192 | Self::Done => ffi::GST_GL_UPLOAD_DONE, |
1193 | Self::Error => ffi::GST_GL_UPLOAD_ERROR, |
1194 | Self::Unsupported => ffi::GST_GL_UPLOAD_UNSUPPORTED, |
1195 | Self::Reconfigure => ffi::GST_GL_UPLOAD_RECONFIGURE, |
1196 | Self::UnsharedGlContext => ffi::GST_GL_UPLOAD_UNSHARED_GL_CONTEXT, |
1197 | Self::__Unknown(value: i32) => value, |
1198 | } |
1199 | } |
1200 | } |
1201 | |
1202 | #[doc (hidden)] |
1203 | impl FromGlib<ffi::GstGLUploadReturn> for GLUploadReturn { |
1204 | #[inline ] |
1205 | unsafe fn from_glib(value: ffi::GstGLUploadReturn) -> Self { |
1206 | skip_assert_initialized!(); |
1207 | |
1208 | match value { |
1209 | ffi::GST_GL_UPLOAD_DONE => Self::Done, |
1210 | ffi::GST_GL_UPLOAD_ERROR => Self::Error, |
1211 | ffi::GST_GL_UPLOAD_UNSUPPORTED => Self::Unsupported, |
1212 | ffi::GST_GL_UPLOAD_RECONFIGURE => Self::Reconfigure, |
1213 | ffi::GST_GL_UPLOAD_UNSHARED_GL_CONTEXT => Self::UnsharedGlContext, |
1214 | value: i32 => Self::__Unknown(value), |
1215 | } |
1216 | } |
1217 | } |
1218 | |
1219 | impl StaticType for GLUploadReturn { |
1220 | #[inline ] |
1221 | #[doc (alias = "gst_gl_upload_return_get_type" )] |
1222 | fn static_type() -> glib::Type { |
1223 | unsafe { from_glib(val:ffi::gst_gl_upload_return_get_type()) } |
1224 | } |
1225 | } |
1226 | |
1227 | impl glib::HasParamSpec for GLUploadReturn { |
1228 | type ParamSpec = glib::ParamSpecEnum; |
1229 | type SetValue = Self; |
1230 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1231 | |
1232 | fn param_spec_builder() -> Self::BuilderFn { |
1233 | Self::ParamSpec::builder_with_default |
1234 | } |
1235 | } |
1236 | |
1237 | impl glib::value::ValueType for GLUploadReturn { |
1238 | type Type = Self; |
1239 | } |
1240 | |
1241 | unsafe impl<'a> glib::value::FromValue<'a> for GLUploadReturn { |
1242 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1243 | |
1244 | #[inline ] |
1245 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1246 | skip_assert_initialized!(); |
1247 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1248 | } |
1249 | } |
1250 | |
1251 | impl ToValue for GLUploadReturn { |
1252 | #[inline ] |
1253 | fn to_value(&self) -> glib::Value { |
1254 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1255 | unsafe { |
1256 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1257 | } |
1258 | value |
1259 | } |
1260 | |
1261 | #[inline ] |
1262 | fn value_type(&self) -> glib::Type { |
1263 | Self::static_type() |
1264 | } |
1265 | } |
1266 | |
1267 | impl From<GLUploadReturn> for glib::Value { |
1268 | #[inline ] |
1269 | fn from(v: GLUploadReturn) -> Self { |
1270 | skip_assert_initialized!(); |
1271 | ToValue::to_value(&v) |
1272 | } |
1273 | } |
1274 | |
1275 | #[derive (Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] |
1276 | #[non_exhaustive ] |
1277 | #[doc (alias = "GstGLWindowError" )] |
1278 | pub enum GLWindowError { |
1279 | #[doc (alias = "GST_GL_WINDOW_ERROR_FAILED" )] |
1280 | Failed, |
1281 | #[doc (alias = "GST_GL_WINDOW_ERROR_OLD_LIBS" )] |
1282 | OldLibs, |
1283 | #[doc (alias = "GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE" )] |
1284 | ResourceUnavailable, |
1285 | #[doc (hidden)] |
1286 | __Unknown(i32), |
1287 | } |
1288 | |
1289 | #[doc (hidden)] |
1290 | impl IntoGlib for GLWindowError { |
1291 | type GlibType = ffi::GstGLWindowError; |
1292 | |
1293 | #[inline ] |
1294 | fn into_glib(self) -> ffi::GstGLWindowError { |
1295 | match self { |
1296 | Self::Failed => ffi::GST_GL_WINDOW_ERROR_FAILED, |
1297 | Self::OldLibs => ffi::GST_GL_WINDOW_ERROR_OLD_LIBS, |
1298 | Self::ResourceUnavailable => ffi::GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE, |
1299 | Self::__Unknown(value: i32) => value, |
1300 | } |
1301 | } |
1302 | } |
1303 | |
1304 | #[doc (hidden)] |
1305 | impl FromGlib<ffi::GstGLWindowError> for GLWindowError { |
1306 | #[inline ] |
1307 | unsafe fn from_glib(value: ffi::GstGLWindowError) -> Self { |
1308 | skip_assert_initialized!(); |
1309 | |
1310 | match value { |
1311 | ffi::GST_GL_WINDOW_ERROR_FAILED => Self::Failed, |
1312 | ffi::GST_GL_WINDOW_ERROR_OLD_LIBS => Self::OldLibs, |
1313 | ffi::GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE => Self::ResourceUnavailable, |
1314 | value: i32 => Self::__Unknown(value), |
1315 | } |
1316 | } |
1317 | } |
1318 | |
1319 | impl glib::error::ErrorDomain for GLWindowError { |
1320 | #[inline ] |
1321 | fn domain() -> glib::Quark { |
1322 | skip_assert_initialized!(); |
1323 | |
1324 | unsafe { from_glib(val:ffi::gst_gl_window_error_quark()) } |
1325 | } |
1326 | |
1327 | #[inline ] |
1328 | fn code(self) -> i32 { |
1329 | self.into_glib() |
1330 | } |
1331 | |
1332 | #[inline ] |
1333 | #[allow (clippy::match_single_binding)] |
1334 | fn from(code: i32) -> Option<Self> { |
1335 | skip_assert_initialized!(); |
1336 | match unsafe { from_glib(val:code) } { |
1337 | Self::__Unknown(_) => Some(Self::Failed), |
1338 | value: GLWindowError => Some(value), |
1339 | } |
1340 | } |
1341 | } |
1342 | |
1343 | impl StaticType for GLWindowError { |
1344 | #[inline ] |
1345 | #[doc (alias = "gst_gl_window_error_get_type" )] |
1346 | fn static_type() -> glib::Type { |
1347 | unsafe { from_glib(val:ffi::gst_gl_window_error_get_type()) } |
1348 | } |
1349 | } |
1350 | |
1351 | impl glib::HasParamSpec for GLWindowError { |
1352 | type ParamSpec = glib::ParamSpecEnum; |
1353 | type SetValue = Self; |
1354 | type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>; |
1355 | |
1356 | fn param_spec_builder() -> Self::BuilderFn { |
1357 | Self::ParamSpec::builder_with_default |
1358 | } |
1359 | } |
1360 | |
1361 | impl glib::value::ValueType for GLWindowError { |
1362 | type Type = Self; |
1363 | } |
1364 | |
1365 | unsafe impl<'a> glib::value::FromValue<'a> for GLWindowError { |
1366 | type Checker = glib::value::GenericValueTypeChecker<Self>; |
1367 | |
1368 | #[inline ] |
1369 | unsafe fn from_value(value: &'a glib::Value) -> Self { |
1370 | skip_assert_initialized!(); |
1371 | from_glib(val:glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) |
1372 | } |
1373 | } |
1374 | |
1375 | impl ToValue for GLWindowError { |
1376 | #[inline ] |
1377 | fn to_value(&self) -> glib::Value { |
1378 | let mut value: Value = glib::Value::for_value_type::<Self>(); |
1379 | unsafe { |
1380 | glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib()); |
1381 | } |
1382 | value |
1383 | } |
1384 | |
1385 | #[inline ] |
1386 | fn value_type(&self) -> glib::Type { |
1387 | Self::static_type() |
1388 | } |
1389 | } |
1390 | |
1391 | impl From<GLWindowError> for glib::Value { |
1392 | #[inline ] |
1393 | fn from(v: GLWindowError) -> Self { |
1394 | skip_assert_initialized!(); |
1395 | ToValue::to_value(&v) |
1396 | } |
1397 | } |
1398 | |