gstreamer_gl/auto/
flags.rs1use crate::ffi;
7use glib::{bitflags::bitflags, prelude::*, translate::*};
8
9bitflags! {
10 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
11 #[doc(alias = "GstGLAPI")]
12 pub struct GLAPI: u32 {
13 #[doc(alias = "GST_GL_API_OPENGL")]
15 const OPENGL = ffi::GST_GL_API_OPENGL as _;
16 #[doc(alias = "GST_GL_API_OPENGL3")]
18 const OPENGL3 = ffi::GST_GL_API_OPENGL3 as _;
19 #[doc(alias = "GST_GL_API_GLES1")]
21 const GLES1 = ffi::GST_GL_API_GLES1 as _;
22 #[doc(alias = "GST_GL_API_GLES2")]
24 const GLES2 = ffi::GST_GL_API_GLES2 as _;
25 }
26}
27
28impl GLAPI {
29 #[doc(alias = "gst_gl_api_from_string")]
30 pub fn from_string(api_s: &str) -> GLAPI {
31 assert_initialized_main_thread!();
32 unsafe { from_glib(ffi::gst_gl_api_from_string(api_s.to_glib_none().0)) }
33 }
34
35 #[doc(alias = "gst_gl_api_to_string")]
36 #[doc(alias = "to_string")]
37 pub fn to_str(self) -> glib::GString {
38 assert_initialized_main_thread!();
39 unsafe { from_glib_full(ffi::gst_gl_api_to_string(self.into_glib())) }
40 }
41}
42
43impl std::fmt::Display for GLAPI {
44 #[inline]
45 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
46 f.write_str(&self.to_str())
47 }
48}
49
50#[doc(hidden)]
51impl IntoGlib for GLAPI {
52 type GlibType = ffi::GstGLAPI;
53
54 #[inline]
55 fn into_glib(self) -> ffi::GstGLAPI {
56 self.bits()
57 }
58}
59
60#[doc(hidden)]
61impl FromGlib<ffi::GstGLAPI> for GLAPI {
62 #[inline]
63 unsafe fn from_glib(value: ffi::GstGLAPI) -> Self {
64 skip_assert_initialized!();
65 Self::from_bits_truncate(value)
66 }
67}
68
69impl StaticType for GLAPI {
70 #[inline]
71 #[doc(alias = "gst_gl_api_get_type")]
72 fn static_type() -> glib::Type {
73 unsafe { from_glib(ffi::gst_gl_api_get_type()) }
74 }
75}
76
77impl glib::HasParamSpec for GLAPI {
78 type ParamSpec = glib::ParamSpecFlags;
79 type SetValue = Self;
80 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
81
82 fn param_spec_builder() -> Self::BuilderFn {
83 Self::ParamSpec::builder
84 }
85}
86
87impl glib::value::ValueType for GLAPI {
88 type Type = Self;
89}
90
91unsafe impl<'a> glib::value::FromValue<'a> for GLAPI {
92 type Checker = glib::value::GenericValueTypeChecker<Self>;
93
94 #[inline]
95 unsafe fn from_value(value: &'a glib::Value) -> Self {
96 skip_assert_initialized!();
97 unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
98 }
99}
100
101impl ToValue for GLAPI {
102 #[inline]
103 fn to_value(&self) -> glib::Value {
104 let mut value = glib::Value::for_value_type::<Self>();
105 unsafe {
106 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
107 }
108 value
109 }
110
111 #[inline]
112 fn value_type(&self) -> glib::Type {
113 Self::static_type()
114 }
115}
116
117impl From<GLAPI> for glib::Value {
118 #[inline]
119 fn from(v: GLAPI) -> Self {
120 skip_assert_initialized!();
121 ToValue::to_value(&v)
122 }
123}
124
125#[cfg(feature = "v1_20")]
126bitflags! {
127 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
128 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
129 #[doc(alias = "GstGLConfigSurfaceType")]
130 pub struct GLConfigSurfaceType: u32 {
131 #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_NONE")]
133 const NONE = ffi::GST_GL_CONFIG_SURFACE_TYPE_NONE as _;
134 #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_WINDOW")]
136 const WINDOW = ffi::GST_GL_CONFIG_SURFACE_TYPE_WINDOW as _;
137 #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_PBUFFER")]
139 const PBUFFER = ffi::GST_GL_CONFIG_SURFACE_TYPE_PBUFFER as _;
140 #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_PIXMAP")]
142 const PIXMAP = ffi::GST_GL_CONFIG_SURFACE_TYPE_PIXMAP as _;
143 }
144}
145
146#[cfg(feature = "v1_20")]
147#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
148impl GLConfigSurfaceType {
149 #[doc(alias = "gst_gl_config_surface_type_to_string")]
150 #[doc(alias = "to_string")]
151 pub fn to_str(self) -> Option<glib::GString> {
152 assert_initialized_main_thread!();
153 unsafe { from_glib_none(ffi::gst_gl_config_surface_type_to_string(self.into_glib())) }
154 }
155}
156
157#[cfg(feature = "v1_20")]
158#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
159#[doc(hidden)]
160impl IntoGlib for GLConfigSurfaceType {
161 type GlibType = ffi::GstGLConfigSurfaceType;
162
163 #[inline]
164 fn into_glib(self) -> ffi::GstGLConfigSurfaceType {
165 self.bits()
166 }
167}
168
169#[cfg(feature = "v1_20")]
170#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
171#[doc(hidden)]
172impl FromGlib<ffi::GstGLConfigSurfaceType> for GLConfigSurfaceType {
173 #[inline]
174 unsafe fn from_glib(value: ffi::GstGLConfigSurfaceType) -> Self {
175 skip_assert_initialized!();
176 Self::from_bits_truncate(value)
177 }
178}
179
180#[cfg(feature = "v1_20")]
181#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
182impl StaticType for GLConfigSurfaceType {
183 #[inline]
184 #[doc(alias = "gst_gl_config_surface_type_get_type")]
185 fn static_type() -> glib::Type {
186 unsafe { from_glib(ffi::gst_gl_config_surface_type_get_type()) }
187 }
188}
189
190#[cfg(feature = "v1_20")]
191#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
192impl glib::HasParamSpec for GLConfigSurfaceType {
193 type ParamSpec = glib::ParamSpecFlags;
194 type SetValue = Self;
195 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
196
197 fn param_spec_builder() -> Self::BuilderFn {
198 Self::ParamSpec::builder
199 }
200}
201
202#[cfg(feature = "v1_20")]
203#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
204impl glib::value::ValueType for GLConfigSurfaceType {
205 type Type = Self;
206}
207
208#[cfg(feature = "v1_20")]
209#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
210unsafe impl<'a> glib::value::FromValue<'a> for GLConfigSurfaceType {
211 type Checker = glib::value::GenericValueTypeChecker<Self>;
212
213 #[inline]
214 unsafe fn from_value(value: &'a glib::Value) -> Self {
215 skip_assert_initialized!();
216 unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
217 }
218}
219
220#[cfg(feature = "v1_20")]
221#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
222impl ToValue for GLConfigSurfaceType {
223 #[inline]
224 fn to_value(&self) -> glib::Value {
225 let mut value = glib::Value::for_value_type::<Self>();
226 unsafe {
227 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
228 }
229 value
230 }
231
232 #[inline]
233 fn value_type(&self) -> glib::Type {
234 Self::static_type()
235 }
236}
237
238#[cfg(feature = "v1_20")]
239#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
240impl From<GLConfigSurfaceType> for glib::Value {
241 #[inline]
242 fn from(v: GLConfigSurfaceType) -> Self {
243 skip_assert_initialized!();
244 ToValue::to_value(&v)
245 }
246}
247
248bitflags! {
249 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
250 #[doc(alias = "GstGLDisplayType")]
251 pub struct GLDisplayType: u32 {
252 #[doc(alias = "GST_GL_DISPLAY_TYPE_X11")]
254 const X11 = ffi::GST_GL_DISPLAY_TYPE_X11 as _;
255 #[doc(alias = "GST_GL_DISPLAY_TYPE_WAYLAND")]
257 const WAYLAND = ffi::GST_GL_DISPLAY_TYPE_WAYLAND as _;
258 #[doc(alias = "GST_GL_DISPLAY_TYPE_COCOA")]
260 const COCOA = ffi::GST_GL_DISPLAY_TYPE_COCOA as _;
261 #[doc(alias = "GST_GL_DISPLAY_TYPE_WIN32")]
263 const WIN32 = ffi::GST_GL_DISPLAY_TYPE_WIN32 as _;
264 #[doc(alias = "GST_GL_DISPLAY_TYPE_DISPMANX")]
266 const DISPMANX = ffi::GST_GL_DISPLAY_TYPE_DISPMANX as _;
267 #[doc(alias = "GST_GL_DISPLAY_TYPE_EGL")]
269 const EGL = ffi::GST_GL_DISPLAY_TYPE_EGL as _;
270 #[doc(alias = "GST_GL_DISPLAY_TYPE_VIV_FB")]
272 const VIV_FB = ffi::GST_GL_DISPLAY_TYPE_VIV_FB as _;
273 #[doc(alias = "GST_GL_DISPLAY_TYPE_GBM")]
275 const GBM = ffi::GST_GL_DISPLAY_TYPE_GBM as _;
276 #[cfg(feature = "v1_18")]
278 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
279 #[doc(alias = "GST_GL_DISPLAY_TYPE_EGL_DEVICE")]
280 const EGL_DEVICE = ffi::GST_GL_DISPLAY_TYPE_EGL_DEVICE as _;
281 #[cfg(feature = "v1_20")]
283 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
284 #[doc(alias = "GST_GL_DISPLAY_TYPE_EAGL")]
285 const EAGL = ffi::GST_GL_DISPLAY_TYPE_EAGL as _;
286 #[cfg(feature = "v1_20")]
288 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
289 #[doc(alias = "GST_GL_DISPLAY_TYPE_WINRT")]
290 const WINRT = ffi::GST_GL_DISPLAY_TYPE_WINRT as _;
291 #[cfg(feature = "v1_20")]
293 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
294 #[doc(alias = "GST_GL_DISPLAY_TYPE_ANDROID")]
295 const ANDROID = ffi::GST_GL_DISPLAY_TYPE_ANDROID as _;
296 #[cfg(feature = "v1_24")]
299 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
300 #[doc(alias = "GST_GL_DISPLAY_TYPE_EGL_SURFACELESS")]
301 const EGL_SURFACELESS = ffi::GST_GL_DISPLAY_TYPE_EGL_SURFACELESS as _;
302 }
303}
304
305#[doc(hidden)]
306impl IntoGlib for GLDisplayType {
307 type GlibType = ffi::GstGLDisplayType;
308
309 #[inline]
310 fn into_glib(self) -> ffi::GstGLDisplayType {
311 self.bits()
312 }
313}
314
315#[doc(hidden)]
316impl FromGlib<ffi::GstGLDisplayType> for GLDisplayType {
317 #[inline]
318 unsafe fn from_glib(value: ffi::GstGLDisplayType) -> Self {
319 skip_assert_initialized!();
320 Self::from_bits_truncate(value)
321 }
322}
323
324impl StaticType for GLDisplayType {
325 #[inline]
326 #[doc(alias = "gst_gl_display_type_get_type")]
327 fn static_type() -> glib::Type {
328 unsafe { from_glib(ffi::gst_gl_display_type_get_type()) }
329 }
330}
331
332impl glib::HasParamSpec for GLDisplayType {
333 type ParamSpec = glib::ParamSpecFlags;
334 type SetValue = Self;
335 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
336
337 fn param_spec_builder() -> Self::BuilderFn {
338 Self::ParamSpec::builder
339 }
340}
341
342impl glib::value::ValueType for GLDisplayType {
343 type Type = Self;
344}
345
346unsafe impl<'a> glib::value::FromValue<'a> for GLDisplayType {
347 type Checker = glib::value::GenericValueTypeChecker<Self>;
348
349 #[inline]
350 unsafe fn from_value(value: &'a glib::Value) -> Self {
351 skip_assert_initialized!();
352 unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
353 }
354}
355
356impl ToValue for GLDisplayType {
357 #[inline]
358 fn to_value(&self) -> glib::Value {
359 let mut value = glib::Value::for_value_type::<Self>();
360 unsafe {
361 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
362 }
363 value
364 }
365
366 #[inline]
367 fn value_type(&self) -> glib::Type {
368 Self::static_type()
369 }
370}
371
372impl From<GLDisplayType> for glib::Value {
373 #[inline]
374 fn from(v: GLDisplayType) -> Self {
375 skip_assert_initialized!();
376 ToValue::to_value(&v)
377 }
378}
379
380bitflags! {
381 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
382 #[doc(alias = "GstGLPlatform")]
383 pub struct GLPlatform: u32 {
384 #[doc(alias = "GST_GL_PLATFORM_EGL")]
387 const EGL = ffi::GST_GL_PLATFORM_EGL as _;
388 #[doc(alias = "GST_GL_PLATFORM_GLX")]
390 const GLX = ffi::GST_GL_PLATFORM_GLX as _;
391 #[doc(alias = "GST_GL_PLATFORM_WGL")]
393 const WGL = ffi::GST_GL_PLATFORM_WGL as _;
394 #[doc(alias = "GST_GL_PLATFORM_CGL")]
396 const CGL = ffi::GST_GL_PLATFORM_CGL as _;
397 #[doc(alias = "GST_GL_PLATFORM_EAGL")]
399 const EAGL = ffi::GST_GL_PLATFORM_EAGL as _;
400 }
401}
402
403impl GLPlatform {
404 #[doc(alias = "gst_gl_platform_from_string")]
405 pub fn from_string(platform_s: &str) -> GLPlatform {
406 assert_initialized_main_thread!();
407 unsafe {
408 from_glib(ffi::gst_gl_platform_from_string(
409 platform_s.to_glib_none().0,
410 ))
411 }
412 }
413
414 #[doc(alias = "gst_gl_platform_to_string")]
415 #[doc(alias = "to_string")]
416 pub fn to_str(self) -> glib::GString {
417 assert_initialized_main_thread!();
418 unsafe { from_glib_full(ffi::gst_gl_platform_to_string(self.into_glib())) }
419 }
420}
421
422impl std::fmt::Display for GLPlatform {
423 #[inline]
424 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
425 f.write_str(&self.to_str())
426 }
427}
428
429#[doc(hidden)]
430impl IntoGlib for GLPlatform {
431 type GlibType = ffi::GstGLPlatform;
432
433 #[inline]
434 fn into_glib(self) -> ffi::GstGLPlatform {
435 self.bits()
436 }
437}
438
439#[doc(hidden)]
440impl FromGlib<ffi::GstGLPlatform> for GLPlatform {
441 #[inline]
442 unsafe fn from_glib(value: ffi::GstGLPlatform) -> Self {
443 skip_assert_initialized!();
444 Self::from_bits_truncate(value)
445 }
446}
447
448impl StaticType for GLPlatform {
449 #[inline]
450 #[doc(alias = "gst_gl_platform_get_type")]
451 fn static_type() -> glib::Type {
452 unsafe { from_glib(ffi::gst_gl_platform_get_type()) }
453 }
454}
455
456impl glib::HasParamSpec for GLPlatform {
457 type ParamSpec = glib::ParamSpecFlags;
458 type SetValue = Self;
459 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
460
461 fn param_spec_builder() -> Self::BuilderFn {
462 Self::ParamSpec::builder
463 }
464}
465
466impl glib::value::ValueType for GLPlatform {
467 type Type = Self;
468}
469
470unsafe impl<'a> glib::value::FromValue<'a> for GLPlatform {
471 type Checker = glib::value::GenericValueTypeChecker<Self>;
472
473 #[inline]
474 unsafe fn from_value(value: &'a glib::Value) -> Self {
475 skip_assert_initialized!();
476 unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
477 }
478}
479
480impl ToValue for GLPlatform {
481 #[inline]
482 fn to_value(&self) -> glib::Value {
483 let mut value = glib::Value::for_value_type::<Self>();
484 unsafe {
485 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
486 }
487 value
488 }
489
490 #[inline]
491 fn value_type(&self) -> glib::Type {
492 Self::static_type()
493 }
494}
495
496impl From<GLPlatform> for glib::Value {
497 #[inline]
498 fn from(v: GLPlatform) -> Self {
499 skip_assert_initialized!();
500 ToValue::to_value(&v)
501 }
502}
503
504bitflags! {
505 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
507 #[doc(alias = "GstGLSLProfile")]
508 pub struct GLSLProfile: u32 {
509 #[doc(alias = "GST_GLSL_PROFILE_ES")]
511 const ES = ffi::GST_GLSL_PROFILE_ES as _;
512 #[doc(alias = "GST_GLSL_PROFILE_CORE")]
514 const CORE = ffi::GST_GLSL_PROFILE_CORE as _;
515 #[doc(alias = "GST_GLSL_PROFILE_COMPATIBILITY")]
517 const COMPATIBILITY = ffi::GST_GLSL_PROFILE_COMPATIBILITY as _;
518 }
519}
520
521impl GLSLProfile {
522 #[doc(alias = "gst_glsl_profile_from_string")]
523 pub fn from_string(string: &str) -> GLSLProfile {
524 assert_initialized_main_thread!();
525 unsafe { from_glib(ffi::gst_glsl_profile_from_string(string.to_glib_none().0)) }
526 }
527
528 #[doc(alias = "gst_glsl_profile_to_string")]
529 #[doc(alias = "to_string")]
530 pub fn to_str(self) -> Option<glib::GString> {
531 assert_initialized_main_thread!();
532 unsafe { from_glib_none(ffi::gst_glsl_profile_to_string(self.into_glib())) }
533 }
534}
535
536#[doc(hidden)]
537impl IntoGlib for GLSLProfile {
538 type GlibType = ffi::GstGLSLProfile;
539
540 #[inline]
541 fn into_glib(self) -> ffi::GstGLSLProfile {
542 self.bits()
543 }
544}
545
546#[doc(hidden)]
547impl FromGlib<ffi::GstGLSLProfile> for GLSLProfile {
548 #[inline]
549 unsafe fn from_glib(value: ffi::GstGLSLProfile) -> Self {
550 skip_assert_initialized!();
551 Self::from_bits_truncate(value)
552 }
553}
554
555impl StaticType for GLSLProfile {
556 #[inline]
557 #[doc(alias = "gst_glsl_profile_get_type")]
558 fn static_type() -> glib::Type {
559 unsafe { from_glib(ffi::gst_glsl_profile_get_type()) }
560 }
561}
562
563impl glib::HasParamSpec for GLSLProfile {
564 type ParamSpec = glib::ParamSpecFlags;
565 type SetValue = Self;
566 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
567
568 fn param_spec_builder() -> Self::BuilderFn {
569 Self::ParamSpec::builder
570 }
571}
572
573impl glib::value::ValueType for GLSLProfile {
574 type Type = Self;
575}
576
577unsafe impl<'a> glib::value::FromValue<'a> for GLSLProfile {
578 type Checker = glib::value::GenericValueTypeChecker<Self>;
579
580 #[inline]
581 unsafe fn from_value(value: &'a glib::Value) -> Self {
582 skip_assert_initialized!();
583 unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
584 }
585}
586
587impl ToValue for GLSLProfile {
588 #[inline]
589 fn to_value(&self) -> glib::Value {
590 let mut value = glib::Value::for_value_type::<Self>();
591 unsafe {
592 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
593 }
594 value
595 }
596
597 #[inline]
598 fn value_type(&self) -> glib::Type {
599 Self::static_type()
600 }
601}
602
603impl From<GLSLProfile> for glib::Value {
604 #[inline]
605 fn from(v: GLSLProfile) -> Self {
606 skip_assert_initialized!();
607 ToValue::to_value(&v)
608 }
609}