Skip to main content

gstreamer_video/auto/
flags.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;
7use glib::{bitflags::bitflags, prelude::*, translate::*};
8
9#[cfg(feature = "v1_22")]
10bitflags! {
11    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
12    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
13    #[doc(alias = "GstNavigationModifierType")]
14    pub struct NavigationModifierType: u32 {
15        #[doc(alias = "GST_NAVIGATION_MODIFIER_SHIFT_MASK")]
16        const SHIFT_MASK = ffi::GST_NAVIGATION_MODIFIER_SHIFT_MASK as _;
17        #[doc(alias = "GST_NAVIGATION_MODIFIER_LOCK_MASK")]
18        const LOCK_MASK = ffi::GST_NAVIGATION_MODIFIER_LOCK_MASK as _;
19        #[doc(alias = "GST_NAVIGATION_MODIFIER_CONTROL_MASK")]
20        const CONTROL_MASK = ffi::GST_NAVIGATION_MODIFIER_CONTROL_MASK as _;
21        #[doc(alias = "GST_NAVIGATION_MODIFIER_MOD1_MASK")]
22        const MOD1_MASK = ffi::GST_NAVIGATION_MODIFIER_MOD1_MASK as _;
23        #[doc(alias = "GST_NAVIGATION_MODIFIER_MOD2_MASK")]
24        const MOD2_MASK = ffi::GST_NAVIGATION_MODIFIER_MOD2_MASK as _;
25        #[doc(alias = "GST_NAVIGATION_MODIFIER_MOD3_MASK")]
26        const MOD3_MASK = ffi::GST_NAVIGATION_MODIFIER_MOD3_MASK as _;
27        #[doc(alias = "GST_NAVIGATION_MODIFIER_MOD4_MASK")]
28        const MOD4_MASK = ffi::GST_NAVIGATION_MODIFIER_MOD4_MASK as _;
29        #[doc(alias = "GST_NAVIGATION_MODIFIER_MOD5_MASK")]
30        const MOD5_MASK = ffi::GST_NAVIGATION_MODIFIER_MOD5_MASK as _;
31        #[doc(alias = "GST_NAVIGATION_MODIFIER_BUTTON1_MASK")]
32        const BUTTON1_MASK = ffi::GST_NAVIGATION_MODIFIER_BUTTON1_MASK as _;
33        #[doc(alias = "GST_NAVIGATION_MODIFIER_BUTTON2_MASK")]
34        const BUTTON2_MASK = ffi::GST_NAVIGATION_MODIFIER_BUTTON2_MASK as _;
35        #[doc(alias = "GST_NAVIGATION_MODIFIER_BUTTON3_MASK")]
36        const BUTTON3_MASK = ffi::GST_NAVIGATION_MODIFIER_BUTTON3_MASK as _;
37        #[doc(alias = "GST_NAVIGATION_MODIFIER_BUTTON4_MASK")]
38        const BUTTON4_MASK = ffi::GST_NAVIGATION_MODIFIER_BUTTON4_MASK as _;
39        #[doc(alias = "GST_NAVIGATION_MODIFIER_BUTTON5_MASK")]
40        const BUTTON5_MASK = ffi::GST_NAVIGATION_MODIFIER_BUTTON5_MASK as _;
41        #[doc(alias = "GST_NAVIGATION_MODIFIER_SUPER_MASK")]
42        const SUPER_MASK = ffi::GST_NAVIGATION_MODIFIER_SUPER_MASK as _;
43        #[doc(alias = "GST_NAVIGATION_MODIFIER_HYPER_MASK")]
44        const HYPER_MASK = ffi::GST_NAVIGATION_MODIFIER_HYPER_MASK as _;
45        #[doc(alias = "GST_NAVIGATION_MODIFIER_META_MASK")]
46        const META_MASK = ffi::GST_NAVIGATION_MODIFIER_META_MASK as _;
47    }
48}
49
50#[cfg(feature = "v1_22")]
51#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
52#[doc(hidden)]
53impl IntoGlib for NavigationModifierType {
54    type GlibType = ffi::GstNavigationModifierType;
55
56    #[inline]
57    fn into_glib(self) -> ffi::GstNavigationModifierType {
58        self.bits()
59    }
60}
61
62#[cfg(feature = "v1_22")]
63#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
64#[doc(hidden)]
65impl FromGlib<ffi::GstNavigationModifierType> for NavigationModifierType {
66    #[inline]
67    unsafe fn from_glib(value: ffi::GstNavigationModifierType) -> Self {
68        skip_assert_initialized!();
69        Self::from_bits_truncate(value)
70    }
71}
72
73#[cfg(feature = "v1_22")]
74#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
75impl StaticType for NavigationModifierType {
76    #[inline]
77    #[doc(alias = "gst_navigation_modifier_type_get_type")]
78    fn static_type() -> glib::Type {
79        unsafe { from_glib(ffi::gst_navigation_modifier_type_get_type()) }
80    }
81}
82
83#[cfg(feature = "v1_22")]
84#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
85impl glib::HasParamSpec for NavigationModifierType {
86    type ParamSpec = glib::ParamSpecFlags;
87    type SetValue = Self;
88    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
89
90    fn param_spec_builder() -> Self::BuilderFn {
91        Self::ParamSpec::builder
92    }
93}
94
95#[cfg(feature = "v1_22")]
96#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
97impl glib::value::ValueType for NavigationModifierType {
98    type Type = Self;
99}
100
101#[cfg(feature = "v1_22")]
102#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
103unsafe impl<'a> glib::value::FromValue<'a> for NavigationModifierType {
104    type Checker = glib::value::GenericValueTypeChecker<Self>;
105
106    #[inline]
107    unsafe fn from_value(value: &'a glib::Value) -> Self {
108        skip_assert_initialized!();
109        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
110    }
111}
112
113#[cfg(feature = "v1_22")]
114#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
115impl ToValue for NavigationModifierType {
116    #[inline]
117    fn to_value(&self) -> glib::Value {
118        let mut value = glib::Value::for_value_type::<Self>();
119        unsafe {
120            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
121        }
122        value
123    }
124
125    #[inline]
126    fn value_type(&self) -> glib::Type {
127        Self::static_type()
128    }
129}
130
131#[cfg(feature = "v1_22")]
132#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
133impl From<NavigationModifierType> for glib::Value {
134    #[inline]
135    fn from(v: NavigationModifierType) -> Self {
136        skip_assert_initialized!();
137        ToValue::to_value(&v)
138    }
139}
140
141bitflags! {
142    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
143    #[doc(alias = "GstVideoBufferFlags")]
144    pub struct VideoBufferFlags: u32 {
145        #[doc(alias = "GST_VIDEO_BUFFER_FLAG_INTERLACED")]
146        const INTERLACED = ffi::GST_VIDEO_BUFFER_FLAG_INTERLACED as _;
147        #[doc(alias = "GST_VIDEO_BUFFER_FLAG_TFF")]
148        const TFF = ffi::GST_VIDEO_BUFFER_FLAG_TFF as _;
149        #[doc(alias = "GST_VIDEO_BUFFER_FLAG_RFF")]
150        const RFF = ffi::GST_VIDEO_BUFFER_FLAG_RFF as _;
151        #[doc(alias = "GST_VIDEO_BUFFER_FLAG_ONEFIELD")]
152        const ONEFIELD = ffi::GST_VIDEO_BUFFER_FLAG_ONEFIELD as _;
153        #[doc(alias = "GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW")]
154        const MULTIPLE_VIEW = ffi::GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW as _;
155        #[doc(alias = "GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE")]
156        const FIRST_IN_BUNDLE = ffi::GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE as _;
157        #[cfg(feature = "v1_16")]
158        #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
159        #[doc(alias = "GST_VIDEO_BUFFER_FLAG_TOP_FIELD")]
160        const TOP_FIELD = ffi::GST_VIDEO_BUFFER_FLAG_TOP_FIELD as _;
161        #[cfg(feature = "v1_16")]
162        #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
163        #[doc(alias = "GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD")]
164        const BOTTOM_FIELD = ffi::GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD as _;
165        #[cfg(feature = "v1_18")]
166        #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
167        #[doc(alias = "GST_VIDEO_BUFFER_FLAG_MARKER")]
168        const MARKER = ffi::GST_VIDEO_BUFFER_FLAG_MARKER as _;
169    }
170}
171
172#[doc(hidden)]
173impl IntoGlib for VideoBufferFlags {
174    type GlibType = ffi::GstVideoBufferFlags;
175
176    #[inline]
177    fn into_glib(self) -> ffi::GstVideoBufferFlags {
178        self.bits()
179    }
180}
181
182#[doc(hidden)]
183impl FromGlib<ffi::GstVideoBufferFlags> for VideoBufferFlags {
184    #[inline]
185    unsafe fn from_glib(value: ffi::GstVideoBufferFlags) -> Self {
186        skip_assert_initialized!();
187        Self::from_bits_truncate(value)
188    }
189}
190
191impl StaticType for VideoBufferFlags {
192    #[inline]
193    #[doc(alias = "gst_video_buffer_flags_get_type")]
194    fn static_type() -> glib::Type {
195        unsafe { from_glib(ffi::gst_video_buffer_flags_get_type()) }
196    }
197}
198
199impl glib::HasParamSpec for VideoBufferFlags {
200    type ParamSpec = glib::ParamSpecFlags;
201    type SetValue = Self;
202    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
203
204    fn param_spec_builder() -> Self::BuilderFn {
205        Self::ParamSpec::builder
206    }
207}
208
209impl glib::value::ValueType for VideoBufferFlags {
210    type Type = Self;
211}
212
213unsafe impl<'a> glib::value::FromValue<'a> for VideoBufferFlags {
214    type Checker = glib::value::GenericValueTypeChecker<Self>;
215
216    #[inline]
217    unsafe fn from_value(value: &'a glib::Value) -> Self {
218        skip_assert_initialized!();
219        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
220    }
221}
222
223impl ToValue for VideoBufferFlags {
224    #[inline]
225    fn to_value(&self) -> glib::Value {
226        let mut value = glib::Value::for_value_type::<Self>();
227        unsafe {
228            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
229        }
230        value
231    }
232
233    #[inline]
234    fn value_type(&self) -> glib::Type {
235        Self::static_type()
236    }
237}
238
239impl From<VideoBufferFlags> for glib::Value {
240    #[inline]
241    fn from(v: VideoBufferFlags) -> Self {
242        skip_assert_initialized!();
243        ToValue::to_value(&v)
244    }
245}
246
247bitflags! {
248    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
249    #[doc(alias = "GstVideoChromaSite")]
250    pub struct VideoChromaSite: u32 {
251        #[doc(alias = "GST_VIDEO_CHROMA_SITE_NONE")]
252        const NONE = ffi::GST_VIDEO_CHROMA_SITE_NONE as _;
253        #[doc(alias = "GST_VIDEO_CHROMA_SITE_H_COSITED")]
254        const H_COSITED = ffi::GST_VIDEO_CHROMA_SITE_H_COSITED as _;
255        #[doc(alias = "GST_VIDEO_CHROMA_SITE_V_COSITED")]
256        const V_COSITED = ffi::GST_VIDEO_CHROMA_SITE_V_COSITED as _;
257        #[doc(alias = "GST_VIDEO_CHROMA_SITE_ALT_LINE")]
258        const ALT_LINE = ffi::GST_VIDEO_CHROMA_SITE_ALT_LINE as _;
259        #[doc(alias = "GST_VIDEO_CHROMA_SITE_COSITED")]
260        const COSITED = ffi::GST_VIDEO_CHROMA_SITE_COSITED as _;
261        #[doc(alias = "GST_VIDEO_CHROMA_SITE_JPEG")]
262        const JPEG = ffi::GST_VIDEO_CHROMA_SITE_JPEG as _;
263        #[doc(alias = "GST_VIDEO_CHROMA_SITE_MPEG2")]
264        const MPEG2 = ffi::GST_VIDEO_CHROMA_SITE_MPEG2 as _;
265        #[doc(alias = "GST_VIDEO_CHROMA_SITE_DV")]
266        const DV = ffi::GST_VIDEO_CHROMA_SITE_DV as _;
267    }
268}
269
270impl VideoChromaSite {
271    #[cfg(feature = "v1_20")]
272    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
273    #[doc(alias = "gst_video_chroma_site_from_string")]
274    pub fn from_string(s: &str) -> VideoChromaSite {
275        assert_initialized_main_thread!();
276        unsafe { from_glib(ffi::gst_video_chroma_site_from_string(s.to_glib_none().0)) }
277    }
278}
279
280impl std::fmt::Display for VideoChromaSite {
281    #[inline]
282    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
283        f.write_str(&self.to_str())
284    }
285}
286
287#[doc(hidden)]
288impl IntoGlib for VideoChromaSite {
289    type GlibType = ffi::GstVideoChromaSite;
290
291    #[inline]
292    fn into_glib(self) -> ffi::GstVideoChromaSite {
293        self.bits()
294    }
295}
296
297#[doc(hidden)]
298impl FromGlib<ffi::GstVideoChromaSite> for VideoChromaSite {
299    #[inline]
300    unsafe fn from_glib(value: ffi::GstVideoChromaSite) -> Self {
301        skip_assert_initialized!();
302        Self::from_bits_truncate(value)
303    }
304}
305
306impl StaticType for VideoChromaSite {
307    #[inline]
308    #[doc(alias = "gst_video_chroma_site_get_type")]
309    fn static_type() -> glib::Type {
310        unsafe { from_glib(ffi::gst_video_chroma_site_get_type()) }
311    }
312}
313
314impl glib::HasParamSpec for VideoChromaSite {
315    type ParamSpec = glib::ParamSpecFlags;
316    type SetValue = Self;
317    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
318
319    fn param_spec_builder() -> Self::BuilderFn {
320        Self::ParamSpec::builder
321    }
322}
323
324impl glib::value::ValueType for VideoChromaSite {
325    type Type = Self;
326}
327
328unsafe impl<'a> glib::value::FromValue<'a> for VideoChromaSite {
329    type Checker = glib::value::GenericValueTypeChecker<Self>;
330
331    #[inline]
332    unsafe fn from_value(value: &'a glib::Value) -> Self {
333        skip_assert_initialized!();
334        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
335    }
336}
337
338impl ToValue for VideoChromaSite {
339    #[inline]
340    fn to_value(&self) -> glib::Value {
341        let mut value = glib::Value::for_value_type::<Self>();
342        unsafe {
343            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
344        }
345        value
346    }
347
348    #[inline]
349    fn value_type(&self) -> glib::Type {
350        Self::static_type()
351    }
352}
353
354impl From<VideoChromaSite> for glib::Value {
355    #[inline]
356    fn from(v: VideoChromaSite) -> Self {
357        skip_assert_initialized!();
358        ToValue::to_value(&v)
359    }
360}
361
362bitflags! {
363    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
364    #[doc(alias = "GstVideoCodecFrameFlags")]
365    pub struct VideoCodecFrameFlags: u32 {
366        #[doc(alias = "GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY")]
367        const DECODE_ONLY = ffi::GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY as _;
368        #[doc(alias = "GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT")]
369        const SYNC_POINT = ffi::GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT as _;
370        #[doc(alias = "GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME")]
371        const FORCE_KEYFRAME = ffi::GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME as _;
372        #[doc(alias = "GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS")]
373        const FORCE_KEYFRAME_HEADERS = ffi::GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS as _;
374        #[cfg(feature = "v1_20")]
375        #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
376        #[doc(alias = "GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED")]
377        const CORRUPTED = ffi::GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED as _;
378    }
379}
380
381#[doc(hidden)]
382impl IntoGlib for VideoCodecFrameFlags {
383    type GlibType = ffi::GstVideoCodecFrameFlags;
384
385    #[inline]
386    fn into_glib(self) -> ffi::GstVideoCodecFrameFlags {
387        self.bits()
388    }
389}
390
391#[doc(hidden)]
392impl FromGlib<ffi::GstVideoCodecFrameFlags> for VideoCodecFrameFlags {
393    #[inline]
394    unsafe fn from_glib(value: ffi::GstVideoCodecFrameFlags) -> Self {
395        skip_assert_initialized!();
396        Self::from_bits_truncate(value)
397    }
398}
399
400#[cfg(feature = "v1_20")]
401#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
402impl StaticType for VideoCodecFrameFlags {
403    #[inline]
404    #[doc(alias = "gst_video_codec_frame_flags_get_type")]
405    fn static_type() -> glib::Type {
406        unsafe { from_glib(ffi::gst_video_codec_frame_flags_get_type()) }
407    }
408}
409
410#[cfg(feature = "v1_20")]
411#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
412impl glib::HasParamSpec for VideoCodecFrameFlags {
413    type ParamSpec = glib::ParamSpecFlags;
414    type SetValue = Self;
415    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
416
417    fn param_spec_builder() -> Self::BuilderFn {
418        Self::ParamSpec::builder
419    }
420}
421
422#[cfg(feature = "v1_20")]
423#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
424impl glib::value::ValueType for VideoCodecFrameFlags {
425    type Type = Self;
426}
427
428#[cfg(feature = "v1_20")]
429#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
430unsafe impl<'a> glib::value::FromValue<'a> for VideoCodecFrameFlags {
431    type Checker = glib::value::GenericValueTypeChecker<Self>;
432
433    #[inline]
434    unsafe fn from_value(value: &'a glib::Value) -> Self {
435        skip_assert_initialized!();
436        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
437    }
438}
439
440#[cfg(feature = "v1_20")]
441#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
442impl ToValue for VideoCodecFrameFlags {
443    #[inline]
444    fn to_value(&self) -> glib::Value {
445        let mut value = glib::Value::for_value_type::<Self>();
446        unsafe {
447            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
448        }
449        value
450    }
451
452    #[inline]
453    fn value_type(&self) -> glib::Type {
454        Self::static_type()
455    }
456}
457
458#[cfg(feature = "v1_20")]
459#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
460impl From<VideoCodecFrameFlags> for glib::Value {
461    #[inline]
462    fn from(v: VideoCodecFrameFlags) -> Self {
463        skip_assert_initialized!();
464        ToValue::to_value(&v)
465    }
466}
467
468#[cfg(feature = "v1_20")]
469bitflags! {
470    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
471    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
472    #[doc(alias = "GstVideoDecoderRequestSyncPointFlags")]
473    pub struct VideoDecoderRequestSyncPointFlags: u32 {
474        #[doc(alias = "GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT")]
475        const DISCARD_INPUT = ffi::GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT as _;
476        #[doc(alias = "GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT")]
477        const CORRUPT_OUTPUT = ffi::GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT as _;
478    }
479}
480
481#[cfg(feature = "v1_20")]
482#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
483#[doc(hidden)]
484impl IntoGlib for VideoDecoderRequestSyncPointFlags {
485    type GlibType = ffi::GstVideoDecoderRequestSyncPointFlags;
486
487    #[inline]
488    fn into_glib(self) -> ffi::GstVideoDecoderRequestSyncPointFlags {
489        self.bits()
490    }
491}
492
493#[cfg(feature = "v1_20")]
494#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
495#[doc(hidden)]
496impl FromGlib<ffi::GstVideoDecoderRequestSyncPointFlags> for VideoDecoderRequestSyncPointFlags {
497    #[inline]
498    unsafe fn from_glib(value: ffi::GstVideoDecoderRequestSyncPointFlags) -> Self {
499        skip_assert_initialized!();
500        Self::from_bits_truncate(value)
501    }
502}
503
504#[cfg(feature = "v1_20")]
505#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
506impl StaticType for VideoDecoderRequestSyncPointFlags {
507    #[inline]
508    #[doc(alias = "gst_video_decoder_request_sync_point_flags_get_type")]
509    fn static_type() -> glib::Type {
510        unsafe { from_glib(ffi::gst_video_decoder_request_sync_point_flags_get_type()) }
511    }
512}
513
514#[cfg(feature = "v1_20")]
515#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
516impl glib::HasParamSpec for VideoDecoderRequestSyncPointFlags {
517    type ParamSpec = glib::ParamSpecFlags;
518    type SetValue = Self;
519    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
520
521    fn param_spec_builder() -> Self::BuilderFn {
522        Self::ParamSpec::builder
523    }
524}
525
526#[cfg(feature = "v1_20")]
527#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
528impl glib::value::ValueType for VideoDecoderRequestSyncPointFlags {
529    type Type = Self;
530}
531
532#[cfg(feature = "v1_20")]
533#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
534unsafe impl<'a> glib::value::FromValue<'a> for VideoDecoderRequestSyncPointFlags {
535    type Checker = glib::value::GenericValueTypeChecker<Self>;
536
537    #[inline]
538    unsafe fn from_value(value: &'a glib::Value) -> Self {
539        skip_assert_initialized!();
540        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
541    }
542}
543
544#[cfg(feature = "v1_20")]
545#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
546impl ToValue for VideoDecoderRequestSyncPointFlags {
547    #[inline]
548    fn to_value(&self) -> glib::Value {
549        let mut value = glib::Value::for_value_type::<Self>();
550        unsafe {
551            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
552        }
553        value
554    }
555
556    #[inline]
557    fn value_type(&self) -> glib::Type {
558        Self::static_type()
559    }
560}
561
562#[cfg(feature = "v1_20")]
563#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
564impl From<VideoDecoderRequestSyncPointFlags> for glib::Value {
565    #[inline]
566    fn from(v: VideoDecoderRequestSyncPointFlags) -> Self {
567        skip_assert_initialized!();
568        ToValue::to_value(&v)
569    }
570}
571
572bitflags! {
573    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
574    #[doc(alias = "GstVideoFlags")]
575    pub struct VideoFlags: u32 {
576        #[doc(alias = "GST_VIDEO_FLAG_VARIABLE_FPS")]
577        const VARIABLE_FPS = ffi::GST_VIDEO_FLAG_VARIABLE_FPS as _;
578        #[doc(alias = "GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA")]
579        const PREMULTIPLIED_ALPHA = ffi::GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA as _;
580    }
581}
582
583#[doc(hidden)]
584impl IntoGlib for VideoFlags {
585    type GlibType = ffi::GstVideoFlags;
586
587    #[inline]
588    fn into_glib(self) -> ffi::GstVideoFlags {
589        self.bits()
590    }
591}
592
593#[doc(hidden)]
594impl FromGlib<ffi::GstVideoFlags> for VideoFlags {
595    #[inline]
596    unsafe fn from_glib(value: ffi::GstVideoFlags) -> Self {
597        skip_assert_initialized!();
598        Self::from_bits_truncate(value)
599    }
600}
601
602impl StaticType for VideoFlags {
603    #[inline]
604    #[doc(alias = "gst_video_flags_get_type")]
605    fn static_type() -> glib::Type {
606        unsafe { from_glib(ffi::gst_video_flags_get_type()) }
607    }
608}
609
610impl glib::HasParamSpec for VideoFlags {
611    type ParamSpec = glib::ParamSpecFlags;
612    type SetValue = Self;
613    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
614
615    fn param_spec_builder() -> Self::BuilderFn {
616        Self::ParamSpec::builder
617    }
618}
619
620impl glib::value::ValueType for VideoFlags {
621    type Type = Self;
622}
623
624unsafe impl<'a> glib::value::FromValue<'a> for VideoFlags {
625    type Checker = glib::value::GenericValueTypeChecker<Self>;
626
627    #[inline]
628    unsafe fn from_value(value: &'a glib::Value) -> Self {
629        skip_assert_initialized!();
630        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
631    }
632}
633
634impl ToValue for VideoFlags {
635    #[inline]
636    fn to_value(&self) -> glib::Value {
637        let mut value = glib::Value::for_value_type::<Self>();
638        unsafe {
639            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
640        }
641        value
642    }
643
644    #[inline]
645    fn value_type(&self) -> glib::Type {
646        Self::static_type()
647    }
648}
649
650impl From<VideoFlags> for glib::Value {
651    #[inline]
652    fn from(v: VideoFlags) -> Self {
653        skip_assert_initialized!();
654        ToValue::to_value(&v)
655    }
656}
657
658bitflags! {
659    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
660    #[doc(alias = "GstVideoFormatFlags")]
661    pub struct VideoFormatFlags: u32 {
662        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_YUV")]
663        const YUV = ffi::GST_VIDEO_FORMAT_FLAG_YUV as _;
664        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_RGB")]
665        const RGB = ffi::GST_VIDEO_FORMAT_FLAG_RGB as _;
666        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_GRAY")]
667        const GRAY = ffi::GST_VIDEO_FORMAT_FLAG_GRAY as _;
668        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_ALPHA")]
669        const ALPHA = ffi::GST_VIDEO_FORMAT_FLAG_ALPHA as _;
670        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_LE")]
671        const LE = ffi::GST_VIDEO_FORMAT_FLAG_LE as _;
672        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_PALETTE")]
673        const PALETTE = ffi::GST_VIDEO_FORMAT_FLAG_PALETTE as _;
674        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_COMPLEX")]
675        const COMPLEX = ffi::GST_VIDEO_FORMAT_FLAG_COMPLEX as _;
676        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_UNPACK")]
677        const UNPACK = ffi::GST_VIDEO_FORMAT_FLAG_UNPACK as _;
678        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_TILED")]
679        const TILED = ffi::GST_VIDEO_FORMAT_FLAG_TILED as _;
680        #[cfg(feature = "v1_22")]
681        #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
682        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_SUBTILES")]
683        const SUBTILES = ffi::GST_VIDEO_FORMAT_FLAG_SUBTILES as _;
684        #[cfg(feature = "v1_30")]
685        #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
686        #[doc(alias = "GST_VIDEO_FORMAT_FLAG_FLOAT")]
687        const FLOAT = ffi::GST_VIDEO_FORMAT_FLAG_FLOAT as _;
688    }
689}
690
691#[doc(hidden)]
692impl IntoGlib for VideoFormatFlags {
693    type GlibType = ffi::GstVideoFormatFlags;
694
695    #[inline]
696    fn into_glib(self) -> ffi::GstVideoFormatFlags {
697        self.bits()
698    }
699}
700
701#[doc(hidden)]
702impl FromGlib<ffi::GstVideoFormatFlags> for VideoFormatFlags {
703    #[inline]
704    unsafe fn from_glib(value: ffi::GstVideoFormatFlags) -> Self {
705        skip_assert_initialized!();
706        Self::from_bits_truncate(value)
707    }
708}
709
710impl StaticType for VideoFormatFlags {
711    #[inline]
712    #[doc(alias = "gst_video_format_flags_get_type")]
713    fn static_type() -> glib::Type {
714        unsafe { from_glib(ffi::gst_video_format_flags_get_type()) }
715    }
716}
717
718impl glib::HasParamSpec for VideoFormatFlags {
719    type ParamSpec = glib::ParamSpecFlags;
720    type SetValue = Self;
721    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
722
723    fn param_spec_builder() -> Self::BuilderFn {
724        Self::ParamSpec::builder
725    }
726}
727
728impl glib::value::ValueType for VideoFormatFlags {
729    type Type = Self;
730}
731
732unsafe impl<'a> glib::value::FromValue<'a> for VideoFormatFlags {
733    type Checker = glib::value::GenericValueTypeChecker<Self>;
734
735    #[inline]
736    unsafe fn from_value(value: &'a glib::Value) -> Self {
737        skip_assert_initialized!();
738        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
739    }
740}
741
742impl ToValue for VideoFormatFlags {
743    #[inline]
744    fn to_value(&self) -> glib::Value {
745        let mut value = glib::Value::for_value_type::<Self>();
746        unsafe {
747            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
748        }
749        value
750    }
751
752    #[inline]
753    fn value_type(&self) -> glib::Type {
754        Self::static_type()
755    }
756}
757
758impl From<VideoFormatFlags> for glib::Value {
759    #[inline]
760    fn from(v: VideoFormatFlags) -> Self {
761        skip_assert_initialized!();
762        ToValue::to_value(&v)
763    }
764}
765
766bitflags! {
767    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
768    #[doc(alias = "GstVideoFrameFlags")]
769    pub struct VideoFrameFlags: u32 {
770        #[doc(alias = "GST_VIDEO_FRAME_FLAG_INTERLACED")]
771        const INTERLACED = ffi::GST_VIDEO_FRAME_FLAG_INTERLACED as _;
772        #[doc(alias = "GST_VIDEO_FRAME_FLAG_TFF")]
773        const TFF = ffi::GST_VIDEO_FRAME_FLAG_TFF as _;
774        #[doc(alias = "GST_VIDEO_FRAME_FLAG_RFF")]
775        const RFF = ffi::GST_VIDEO_FRAME_FLAG_RFF as _;
776        #[doc(alias = "GST_VIDEO_FRAME_FLAG_ONEFIELD")]
777        const ONEFIELD = ffi::GST_VIDEO_FRAME_FLAG_ONEFIELD as _;
778        #[doc(alias = "GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW")]
779        const MULTIPLE_VIEW = ffi::GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW as _;
780        #[doc(alias = "GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE")]
781        const FIRST_IN_BUNDLE = ffi::GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE as _;
782        #[cfg(feature = "v1_16")]
783        #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
784        #[doc(alias = "GST_VIDEO_FRAME_FLAG_TOP_FIELD")]
785        const TOP_FIELD = ffi::GST_VIDEO_FRAME_FLAG_TOP_FIELD as _;
786        #[cfg(feature = "v1_16")]
787        #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
788        #[doc(alias = "GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD")]
789        const BOTTOM_FIELD = ffi::GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD as _;
790    }
791}
792
793#[doc(hidden)]
794impl IntoGlib for VideoFrameFlags {
795    type GlibType = ffi::GstVideoFrameFlags;
796
797    #[inline]
798    fn into_glib(self) -> ffi::GstVideoFrameFlags {
799        self.bits()
800    }
801}
802
803#[doc(hidden)]
804impl FromGlib<ffi::GstVideoFrameFlags> for VideoFrameFlags {
805    #[inline]
806    unsafe fn from_glib(value: ffi::GstVideoFrameFlags) -> Self {
807        skip_assert_initialized!();
808        Self::from_bits_truncate(value)
809    }
810}
811
812impl StaticType for VideoFrameFlags {
813    #[inline]
814    #[doc(alias = "gst_video_frame_flags_get_type")]
815    fn static_type() -> glib::Type {
816        unsafe { from_glib(ffi::gst_video_frame_flags_get_type()) }
817    }
818}
819
820impl glib::HasParamSpec for VideoFrameFlags {
821    type ParamSpec = glib::ParamSpecFlags;
822    type SetValue = Self;
823    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
824
825    fn param_spec_builder() -> Self::BuilderFn {
826        Self::ParamSpec::builder
827    }
828}
829
830impl glib::value::ValueType for VideoFrameFlags {
831    type Type = Self;
832}
833
834unsafe impl<'a> glib::value::FromValue<'a> for VideoFrameFlags {
835    type Checker = glib::value::GenericValueTypeChecker<Self>;
836
837    #[inline]
838    unsafe fn from_value(value: &'a glib::Value) -> Self {
839        skip_assert_initialized!();
840        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
841    }
842}
843
844impl ToValue for VideoFrameFlags {
845    #[inline]
846    fn to_value(&self) -> glib::Value {
847        let mut value = glib::Value::for_value_type::<Self>();
848        unsafe {
849            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
850        }
851        value
852    }
853
854    #[inline]
855    fn value_type(&self) -> glib::Type {
856        Self::static_type()
857    }
858}
859
860impl From<VideoFrameFlags> for glib::Value {
861    #[inline]
862    fn from(v: VideoFrameFlags) -> Self {
863        skip_assert_initialized!();
864        ToValue::to_value(&v)
865    }
866}
867
868bitflags! {
869    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
870    #[doc(alias = "GstVideoMultiviewFlags")]
871    pub struct VideoMultiviewFlags: u32 {
872        #[doc(alias = "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST")]
873        const RIGHT_VIEW_FIRST = ffi::GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST as _;
874        #[doc(alias = "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED")]
875        const LEFT_FLIPPED = ffi::GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED as _;
876        #[doc(alias = "GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED")]
877        const LEFT_FLOPPED = ffi::GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED as _;
878        #[doc(alias = "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED")]
879        const RIGHT_FLIPPED = ffi::GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED as _;
880        #[doc(alias = "GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED")]
881        const RIGHT_FLOPPED = ffi::GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED as _;
882        #[doc(alias = "GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT")]
883        const HALF_ASPECT = ffi::GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT as _;
884        #[doc(alias = "GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO")]
885        const MIXED_MONO = ffi::GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO as _;
886    }
887}
888
889#[doc(hidden)]
890impl IntoGlib for VideoMultiviewFlags {
891    type GlibType = ffi::GstVideoMultiviewFlags;
892
893    #[inline]
894    fn into_glib(self) -> ffi::GstVideoMultiviewFlags {
895        self.bits()
896    }
897}
898
899#[doc(hidden)]
900impl FromGlib<ffi::GstVideoMultiviewFlags> for VideoMultiviewFlags {
901    #[inline]
902    unsafe fn from_glib(value: ffi::GstVideoMultiviewFlags) -> Self {
903        skip_assert_initialized!();
904        Self::from_bits_truncate(value)
905    }
906}
907
908impl StaticType for VideoMultiviewFlags {
909    #[inline]
910    #[doc(alias = "gst_video_multiview_flags_get_type")]
911    fn static_type() -> glib::Type {
912        unsafe { from_glib(ffi::gst_video_multiview_flags_get_type()) }
913    }
914}
915
916impl glib::HasParamSpec for VideoMultiviewFlags {
917    type ParamSpec = glib::ParamSpecFlags;
918    type SetValue = Self;
919    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
920
921    fn param_spec_builder() -> Self::BuilderFn {
922        Self::ParamSpec::builder
923    }
924}
925
926impl glib::value::ValueType for VideoMultiviewFlags {
927    type Type = Self;
928}
929
930unsafe impl<'a> glib::value::FromValue<'a> for VideoMultiviewFlags {
931    type Checker = glib::value::GenericValueTypeChecker<Self>;
932
933    #[inline]
934    unsafe fn from_value(value: &'a glib::Value) -> Self {
935        skip_assert_initialized!();
936        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
937    }
938}
939
940impl ToValue for VideoMultiviewFlags {
941    #[inline]
942    fn to_value(&self) -> glib::Value {
943        let mut value = glib::Value::for_value_type::<Self>();
944        unsafe {
945            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
946        }
947        value
948    }
949
950    #[inline]
951    fn value_type(&self) -> glib::Type {
952        Self::static_type()
953    }
954}
955
956impl From<VideoMultiviewFlags> for glib::Value {
957    #[inline]
958    fn from(v: VideoMultiviewFlags) -> Self {
959        skip_assert_initialized!();
960        ToValue::to_value(&v)
961    }
962}
963
964bitflags! {
965    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
966    #[doc(alias = "GstVideoOverlayFormatFlags")]
967    pub struct VideoOverlayFormatFlags: u32 {
968        #[doc(alias = "GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA")]
969        const PREMULTIPLIED_ALPHA = ffi::GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA as _;
970        #[doc(alias = "GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA")]
971        const GLOBAL_ALPHA = ffi::GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA as _;
972    }
973}
974
975#[doc(hidden)]
976impl IntoGlib for VideoOverlayFormatFlags {
977    type GlibType = ffi::GstVideoOverlayFormatFlags;
978
979    #[inline]
980    fn into_glib(self) -> ffi::GstVideoOverlayFormatFlags {
981        self.bits()
982    }
983}
984
985#[doc(hidden)]
986impl FromGlib<ffi::GstVideoOverlayFormatFlags> for VideoOverlayFormatFlags {
987    #[inline]
988    unsafe fn from_glib(value: ffi::GstVideoOverlayFormatFlags) -> Self {
989        skip_assert_initialized!();
990        Self::from_bits_truncate(value)
991    }
992}
993
994#[cfg(feature = "v1_16")]
995#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
996impl StaticType for VideoOverlayFormatFlags {
997    #[inline]
998    #[doc(alias = "gst_video_overlay_format_flags_get_type")]
999    fn static_type() -> glib::Type {
1000        unsafe { from_glib(ffi::gst_video_overlay_format_flags_get_type()) }
1001    }
1002}
1003
1004#[cfg(feature = "v1_16")]
1005#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1006impl glib::HasParamSpec for VideoOverlayFormatFlags {
1007    type ParamSpec = glib::ParamSpecFlags;
1008    type SetValue = Self;
1009    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
1010
1011    fn param_spec_builder() -> Self::BuilderFn {
1012        Self::ParamSpec::builder
1013    }
1014}
1015
1016#[cfg(feature = "v1_16")]
1017#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1018impl glib::value::ValueType for VideoOverlayFormatFlags {
1019    type Type = Self;
1020}
1021
1022#[cfg(feature = "v1_16")]
1023#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1024unsafe impl<'a> glib::value::FromValue<'a> for VideoOverlayFormatFlags {
1025    type Checker = glib::value::GenericValueTypeChecker<Self>;
1026
1027    #[inline]
1028    unsafe fn from_value(value: &'a glib::Value) -> Self {
1029        skip_assert_initialized!();
1030        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
1031    }
1032}
1033
1034#[cfg(feature = "v1_16")]
1035#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1036impl ToValue for VideoOverlayFormatFlags {
1037    #[inline]
1038    fn to_value(&self) -> glib::Value {
1039        let mut value = glib::Value::for_value_type::<Self>();
1040        unsafe {
1041            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
1042        }
1043        value
1044    }
1045
1046    #[inline]
1047    fn value_type(&self) -> glib::Type {
1048        Self::static_type()
1049    }
1050}
1051
1052#[cfg(feature = "v1_16")]
1053#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
1054impl From<VideoOverlayFormatFlags> for glib::Value {
1055    #[inline]
1056    fn from(v: VideoOverlayFormatFlags) -> Self {
1057        skip_assert_initialized!();
1058        ToValue::to_value(&v)
1059    }
1060}
1061
1062bitflags! {
1063    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
1064    #[doc(alias = "GstVideoPackFlags")]
1065    pub struct VideoPackFlags: u32 {
1066        #[doc(alias = "GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE")]
1067        const TRUNCATE_RANGE = ffi::GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE as _;
1068        #[doc(alias = "GST_VIDEO_PACK_FLAG_INTERLACED")]
1069        const INTERLACED = ffi::GST_VIDEO_PACK_FLAG_INTERLACED as _;
1070    }
1071}
1072
1073#[doc(hidden)]
1074impl IntoGlib for VideoPackFlags {
1075    type GlibType = ffi::GstVideoPackFlags;
1076
1077    #[inline]
1078    fn into_glib(self) -> ffi::GstVideoPackFlags {
1079        self.bits()
1080    }
1081}
1082
1083#[doc(hidden)]
1084impl FromGlib<ffi::GstVideoPackFlags> for VideoPackFlags {
1085    #[inline]
1086    unsafe fn from_glib(value: ffi::GstVideoPackFlags) -> Self {
1087        skip_assert_initialized!();
1088        Self::from_bits_truncate(value)
1089    }
1090}
1091
1092impl StaticType for VideoPackFlags {
1093    #[inline]
1094    #[doc(alias = "gst_video_pack_flags_get_type")]
1095    fn static_type() -> glib::Type {
1096        unsafe { from_glib(ffi::gst_video_pack_flags_get_type()) }
1097    }
1098}
1099
1100impl glib::HasParamSpec for VideoPackFlags {
1101    type ParamSpec = glib::ParamSpecFlags;
1102    type SetValue = Self;
1103    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
1104
1105    fn param_spec_builder() -> Self::BuilderFn {
1106        Self::ParamSpec::builder
1107    }
1108}
1109
1110impl glib::value::ValueType for VideoPackFlags {
1111    type Type = Self;
1112}
1113
1114unsafe impl<'a> glib::value::FromValue<'a> for VideoPackFlags {
1115    type Checker = glib::value::GenericValueTypeChecker<Self>;
1116
1117    #[inline]
1118    unsafe fn from_value(value: &'a glib::Value) -> Self {
1119        skip_assert_initialized!();
1120        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
1121    }
1122}
1123
1124impl ToValue for VideoPackFlags {
1125    #[inline]
1126    fn to_value(&self) -> glib::Value {
1127        let mut value = glib::Value::for_value_type::<Self>();
1128        unsafe {
1129            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
1130        }
1131        value
1132    }
1133
1134    #[inline]
1135    fn value_type(&self) -> glib::Type {
1136        Self::static_type()
1137    }
1138}
1139
1140impl From<VideoPackFlags> for glib::Value {
1141    #[inline]
1142    fn from(v: VideoPackFlags) -> Self {
1143        skip_assert_initialized!();
1144        ToValue::to_value(&v)
1145    }
1146}
1147
1148bitflags! {
1149    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
1150    #[doc(alias = "GstVideoTimeCodeFlags")]
1151    pub struct VideoTimeCodeFlags: u32 {
1152        #[doc(alias = "GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME")]
1153        const DROP_FRAME = ffi::GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME as _;
1154        #[doc(alias = "GST_VIDEO_TIME_CODE_FLAGS_INTERLACED")]
1155        const INTERLACED = ffi::GST_VIDEO_TIME_CODE_FLAGS_INTERLACED as _;
1156        #[cfg(feature = "v1_30")]
1157        #[cfg_attr(docsrs, doc(cfg(feature = "v1_30")))]
1158        #[doc(alias = "GST_VIDEO_TIME_CODE_FLAGS_DISCONT")]
1159        const DISCONT = ffi::GST_VIDEO_TIME_CODE_FLAGS_DISCONT as _;
1160    }
1161}
1162
1163#[doc(hidden)]
1164impl IntoGlib for VideoTimeCodeFlags {
1165    type GlibType = ffi::GstVideoTimeCodeFlags;
1166
1167    #[inline]
1168    fn into_glib(self) -> ffi::GstVideoTimeCodeFlags {
1169        self.bits()
1170    }
1171}
1172
1173#[doc(hidden)]
1174impl FromGlib<ffi::GstVideoTimeCodeFlags> for VideoTimeCodeFlags {
1175    #[inline]
1176    unsafe fn from_glib(value: ffi::GstVideoTimeCodeFlags) -> Self {
1177        skip_assert_initialized!();
1178        Self::from_bits_truncate(value)
1179    }
1180}
1181
1182#[cfg(feature = "v1_18")]
1183#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1184impl StaticType for VideoTimeCodeFlags {
1185    #[inline]
1186    #[doc(alias = "gst_video_time_code_flags_get_type")]
1187    fn static_type() -> glib::Type {
1188        unsafe { from_glib(ffi::gst_video_time_code_flags_get_type()) }
1189    }
1190}
1191
1192#[cfg(feature = "v1_18")]
1193#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1194impl glib::HasParamSpec for VideoTimeCodeFlags {
1195    type ParamSpec = glib::ParamSpecFlags;
1196    type SetValue = Self;
1197    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
1198
1199    fn param_spec_builder() -> Self::BuilderFn {
1200        Self::ParamSpec::builder
1201    }
1202}
1203
1204#[cfg(feature = "v1_18")]
1205#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1206impl glib::value::ValueType for VideoTimeCodeFlags {
1207    type Type = Self;
1208}
1209
1210#[cfg(feature = "v1_18")]
1211#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1212unsafe impl<'a> glib::value::FromValue<'a> for VideoTimeCodeFlags {
1213    type Checker = glib::value::GenericValueTypeChecker<Self>;
1214
1215    #[inline]
1216    unsafe fn from_value(value: &'a glib::Value) -> Self {
1217        skip_assert_initialized!();
1218        unsafe { from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0)) }
1219    }
1220}
1221
1222#[cfg(feature = "v1_18")]
1223#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1224impl ToValue for VideoTimeCodeFlags {
1225    #[inline]
1226    fn to_value(&self) -> glib::Value {
1227        let mut value = glib::Value::for_value_type::<Self>();
1228        unsafe {
1229            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
1230        }
1231        value
1232    }
1233
1234    #[inline]
1235    fn value_type(&self) -> glib::Type {
1236        Self::static_type()
1237    }
1238}
1239
1240#[cfg(feature = "v1_18")]
1241#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
1242impl From<VideoTimeCodeFlags> for glib::Value {
1243    #[inline]
1244    fn from(v: VideoTimeCodeFlags) -> Self {
1245        skip_assert_initialized!();
1246        ToValue::to_value(&v)
1247    }
1248}