// This file was generated by gir (https://github.com/gtk-rs/gir) // from gir-files (https://github.com/gtk-rs/gir-files) // DO NOT EDIT use glib::translate::*; use glib::value::FromValue; use glib::value::FromValueOptional; use glib::value::SetValue; use glib::StaticType; use glib::Type; use std::ffi::CStr; use std::fmt; #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoAFDSpec { DvbEtsi, AtscA53, SmpteSt20161, #[doc(hidden)] __Unknown(i32), } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(hidden)] impl ToGlib for VideoAFDSpec { type GlibType = ffi::GstVideoAFDSpec; fn to_glib(&self) -> ffi::GstVideoAFDSpec { match *self { VideoAFDSpec::DvbEtsi => ffi::GST_VIDEO_AFD_SPEC_DVB_ETSI, VideoAFDSpec::AtscA53 => ffi::GST_VIDEO_AFD_SPEC_ATSC_A53, VideoAFDSpec::SmpteSt20161 => ffi::GST_VIDEO_AFD_SPEC_SMPTE_ST2016_1, VideoAFDSpec::__Unknown(value) => value, } } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(hidden)] impl FromGlib for VideoAFDSpec { fn from_glib(value: ffi::GstVideoAFDSpec) -> Self { skip_assert_initialized!(); match value { 0 => VideoAFDSpec::DvbEtsi, 1 => VideoAFDSpec::AtscA53, 2 => VideoAFDSpec::SmpteSt20161, value => VideoAFDSpec::__Unknown(value), } } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] impl StaticType for VideoAFDSpec { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_afd_spec_get_type()) } } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] impl<'a> FromValueOptional<'a> for VideoAFDSpec { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] impl<'a> FromValue<'a> for VideoAFDSpec { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] impl SetValue for VideoAFDSpec { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoAFDValue { Unavailable, _169TopAligned, _149TopAligned, GreaterThan169, _43Full169Full, _43Full43Pillar, _169Letter169Full, _149Letter149Pillar, _43Full149Center, _169Letter149Center, _169Letter43Center, #[doc(hidden)] __Unknown(i32), } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(hidden)] impl ToGlib for VideoAFDValue { type GlibType = ffi::GstVideoAFDValue; fn to_glib(&self) -> ffi::GstVideoAFDValue { match *self { VideoAFDValue::Unavailable => ffi::GST_VIDEO_AFD_UNAVAILABLE, VideoAFDValue::_169TopAligned => ffi::GST_VIDEO_AFD_16_9_TOP_ALIGNED, VideoAFDValue::_149TopAligned => ffi::GST_VIDEO_AFD_14_9_TOP_ALIGNED, VideoAFDValue::GreaterThan169 => ffi::GST_VIDEO_AFD_GREATER_THAN_16_9, VideoAFDValue::_43Full169Full => ffi::GST_VIDEO_AFD_4_3_FULL_16_9_FULL, VideoAFDValue::_43Full43Pillar => ffi::GST_VIDEO_AFD_4_3_FULL_4_3_PILLAR, VideoAFDValue::_169Letter169Full => ffi::GST_VIDEO_AFD_16_9_LETTER_16_9_FULL, VideoAFDValue::_149Letter149Pillar => ffi::GST_VIDEO_AFD_14_9_LETTER_14_9_PILLAR, VideoAFDValue::_43Full149Center => ffi::GST_VIDEO_AFD_4_3_FULL_14_9_CENTER, VideoAFDValue::_169Letter149Center => ffi::GST_VIDEO_AFD_16_9_LETTER_14_9_CENTER, VideoAFDValue::_169Letter43Center => ffi::GST_VIDEO_AFD_16_9_LETTER_4_3_CENTER, VideoAFDValue::__Unknown(value) => value, } } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] #[doc(hidden)] impl FromGlib for VideoAFDValue { fn from_glib(value: ffi::GstVideoAFDValue) -> Self { skip_assert_initialized!(); match value { 0 => VideoAFDValue::Unavailable, 2 => VideoAFDValue::_169TopAligned, 3 => VideoAFDValue::_149TopAligned, 4 => VideoAFDValue::GreaterThan169, 8 => VideoAFDValue::_43Full169Full, 9 => VideoAFDValue::_43Full43Pillar, 10 => VideoAFDValue::_169Letter169Full, 11 => VideoAFDValue::_149Letter149Pillar, 13 => VideoAFDValue::_43Full149Center, 14 => VideoAFDValue::_169Letter149Center, 15 => VideoAFDValue::_169Letter43Center, value => VideoAFDValue::__Unknown(value), } } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] impl StaticType for VideoAFDValue { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_afd_value_get_type()) } } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] impl<'a> FromValueOptional<'a> for VideoAFDValue { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] impl<'a> FromValue<'a> for VideoAFDValue { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] impl SetValue for VideoAFDValue { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoAlphaMode { Copy, Set, Mult, #[doc(hidden)] __Unknown(i32), } #[doc(hidden)] impl ToGlib for VideoAlphaMode { type GlibType = ffi::GstVideoAlphaMode; fn to_glib(&self) -> ffi::GstVideoAlphaMode { match *self { VideoAlphaMode::Copy => ffi::GST_VIDEO_ALPHA_MODE_COPY, VideoAlphaMode::Set => ffi::GST_VIDEO_ALPHA_MODE_SET, VideoAlphaMode::Mult => ffi::GST_VIDEO_ALPHA_MODE_MULT, VideoAlphaMode::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoAlphaMode { fn from_glib(value: ffi::GstVideoAlphaMode) -> Self { skip_assert_initialized!(); match value { 0 => VideoAlphaMode::Copy, 1 => VideoAlphaMode::Set, 2 => VideoAlphaMode::Mult, value => VideoAlphaMode::__Unknown(value), } } } impl StaticType for VideoAlphaMode { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_alpha_mode_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoAlphaMode { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoAlphaMode { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoAlphaMode { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoCaptionType { Unknown, Cea608Raw, Cea608S3341a, Cea708Raw, Cea708Cdp, #[doc(hidden)] __Unknown(i32), } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] impl VideoCaptionType { #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn from_caps(caps: &gst::Caps) -> VideoCaptionType { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_caption_type_from_caps(caps.to_glib_none().0)) } } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] pub fn to_caps(self) -> Option { assert_initialized_main_thread!(); unsafe { from_glib_full(ffi::gst_video_caption_type_to_caps(self.to_glib())) } } } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(hidden)] impl ToGlib for VideoCaptionType { type GlibType = ffi::GstVideoCaptionType; fn to_glib(&self) -> ffi::GstVideoCaptionType { match *self { VideoCaptionType::Unknown => ffi::GST_VIDEO_CAPTION_TYPE_UNKNOWN, VideoCaptionType::Cea608Raw => ffi::GST_VIDEO_CAPTION_TYPE_CEA608_RAW, VideoCaptionType::Cea608S3341a => ffi::GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A, VideoCaptionType::Cea708Raw => ffi::GST_VIDEO_CAPTION_TYPE_CEA708_RAW, VideoCaptionType::Cea708Cdp => ffi::GST_VIDEO_CAPTION_TYPE_CEA708_CDP, VideoCaptionType::__Unknown(value) => value, } } } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] #[doc(hidden)] impl FromGlib for VideoCaptionType { fn from_glib(value: ffi::GstVideoCaptionType) -> Self { skip_assert_initialized!(); match value { 0 => VideoCaptionType::Unknown, 1 => VideoCaptionType::Cea608Raw, 2 => VideoCaptionType::Cea608S3341a, 3 => VideoCaptionType::Cea708Raw, 4 => VideoCaptionType::Cea708Cdp, value => VideoCaptionType::__Unknown(value), } } } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] impl StaticType for VideoCaptionType { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_caption_type_get_type()) } } } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] impl<'a> FromValueOptional<'a> for VideoCaptionType { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] impl<'a> FromValue<'a> for VideoCaptionType { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] impl SetValue for VideoCaptionType { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoChromaMode { Full, UpsampleOnly, DownsampleOnly, None, #[doc(hidden)] __Unknown(i32), } #[doc(hidden)] impl ToGlib for VideoChromaMode { type GlibType = ffi::GstVideoChromaMode; fn to_glib(&self) -> ffi::GstVideoChromaMode { match *self { VideoChromaMode::Full => ffi::GST_VIDEO_CHROMA_MODE_FULL, VideoChromaMode::UpsampleOnly => ffi::GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY, VideoChromaMode::DownsampleOnly => ffi::GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY, VideoChromaMode::None => ffi::GST_VIDEO_CHROMA_MODE_NONE, VideoChromaMode::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoChromaMode { fn from_glib(value: ffi::GstVideoChromaMode) -> Self { skip_assert_initialized!(); match value { 0 => VideoChromaMode::Full, 1 => VideoChromaMode::UpsampleOnly, 2 => VideoChromaMode::DownsampleOnly, 3 => VideoChromaMode::None, value => VideoChromaMode::__Unknown(value), } } } impl StaticType for VideoChromaMode { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_chroma_mode_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoChromaMode { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoChromaMode { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoChromaMode { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoColorMatrix { Unknown, Rgb, Fcc, Bt709, Bt601, Smpte240m, Bt2020, #[doc(hidden)] __Unknown(i32), } impl VideoColorMatrix { #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn from_iso(value: u32) -> VideoColorMatrix { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_color_matrix_from_iso(value)) } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn to_iso(self) -> u32 { assert_initialized_main_thread!(); unsafe { ffi::gst_video_color_matrix_to_iso(self.to_glib()) } } } #[doc(hidden)] impl ToGlib for VideoColorMatrix { type GlibType = ffi::GstVideoColorMatrix; fn to_glib(&self) -> ffi::GstVideoColorMatrix { match *self { VideoColorMatrix::Unknown => ffi::GST_VIDEO_COLOR_MATRIX_UNKNOWN, VideoColorMatrix::Rgb => ffi::GST_VIDEO_COLOR_MATRIX_RGB, VideoColorMatrix::Fcc => ffi::GST_VIDEO_COLOR_MATRIX_FCC, VideoColorMatrix::Bt709 => ffi::GST_VIDEO_COLOR_MATRIX_BT709, VideoColorMatrix::Bt601 => ffi::GST_VIDEO_COLOR_MATRIX_BT601, VideoColorMatrix::Smpte240m => ffi::GST_VIDEO_COLOR_MATRIX_SMPTE240M, VideoColorMatrix::Bt2020 => ffi::GST_VIDEO_COLOR_MATRIX_BT2020, VideoColorMatrix::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoColorMatrix { fn from_glib(value: ffi::GstVideoColorMatrix) -> Self { skip_assert_initialized!(); match value { 0 => VideoColorMatrix::Unknown, 1 => VideoColorMatrix::Rgb, 2 => VideoColorMatrix::Fcc, 3 => VideoColorMatrix::Bt709, 4 => VideoColorMatrix::Bt601, 5 => VideoColorMatrix::Smpte240m, 6 => VideoColorMatrix::Bt2020, value => VideoColorMatrix::__Unknown(value), } } } impl StaticType for VideoColorMatrix { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_color_matrix_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoColorMatrix { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoColorMatrix { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoColorMatrix { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoColorPrimaries { Unknown, Bt709, Bt470m, Bt470bg, Smpte170m, Smpte240m, Film, Bt2020, Adobergb, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Smptest428, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Smpterp431, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Smpteeg432, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Ebu3213, #[doc(hidden)] __Unknown(i32), } impl VideoColorPrimaries { #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn from_iso(value: u32) -> VideoColorPrimaries { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_color_primaries_from_iso(value)) } } //pub fn get_info(self) -> /*Ignored*/Option { // unsafe { TODO: call ffi:gst_video_color_primaries_get_info() } //} #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn to_iso(self) -> u32 { assert_initialized_main_thread!(); unsafe { ffi::gst_video_color_primaries_to_iso(self.to_glib()) } } } #[doc(hidden)] impl ToGlib for VideoColorPrimaries { type GlibType = ffi::GstVideoColorPrimaries; fn to_glib(&self) -> ffi::GstVideoColorPrimaries { match *self { VideoColorPrimaries::Unknown => ffi::GST_VIDEO_COLOR_PRIMARIES_UNKNOWN, VideoColorPrimaries::Bt709 => ffi::GST_VIDEO_COLOR_PRIMARIES_BT709, VideoColorPrimaries::Bt470m => ffi::GST_VIDEO_COLOR_PRIMARIES_BT470M, VideoColorPrimaries::Bt470bg => ffi::GST_VIDEO_COLOR_PRIMARIES_BT470BG, VideoColorPrimaries::Smpte170m => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTE170M, VideoColorPrimaries::Smpte240m => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTE240M, VideoColorPrimaries::Film => ffi::GST_VIDEO_COLOR_PRIMARIES_FILM, VideoColorPrimaries::Bt2020 => ffi::GST_VIDEO_COLOR_PRIMARIES_BT2020, VideoColorPrimaries::Adobergb => ffi::GST_VIDEO_COLOR_PRIMARIES_ADOBERGB, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoColorPrimaries::Smptest428 => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTEST428, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoColorPrimaries::Smpterp431 => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTERP431, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoColorPrimaries::Smpteeg432 => ffi::GST_VIDEO_COLOR_PRIMARIES_SMPTEEG432, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoColorPrimaries::Ebu3213 => ffi::GST_VIDEO_COLOR_PRIMARIES_EBU3213, VideoColorPrimaries::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoColorPrimaries { fn from_glib(value: ffi::GstVideoColorPrimaries) -> Self { skip_assert_initialized!(); match value { 0 => VideoColorPrimaries::Unknown, 1 => VideoColorPrimaries::Bt709, 2 => VideoColorPrimaries::Bt470m, 3 => VideoColorPrimaries::Bt470bg, 4 => VideoColorPrimaries::Smpte170m, 5 => VideoColorPrimaries::Smpte240m, 6 => VideoColorPrimaries::Film, 7 => VideoColorPrimaries::Bt2020, 8 => VideoColorPrimaries::Adobergb, #[cfg(any(feature = "v1_16", feature = "dox"))] 9 => VideoColorPrimaries::Smptest428, #[cfg(any(feature = "v1_16", feature = "dox"))] 10 => VideoColorPrimaries::Smpterp431, #[cfg(any(feature = "v1_16", feature = "dox"))] 11 => VideoColorPrimaries::Smpteeg432, #[cfg(any(feature = "v1_16", feature = "dox"))] 12 => VideoColorPrimaries::Ebu3213, value => VideoColorPrimaries::__Unknown(value), } } } impl StaticType for VideoColorPrimaries { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_color_primaries_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoColorPrimaries { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoColorPrimaries { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoColorPrimaries { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoDitherMethod { None, Verterr, FloydSteinberg, SierraLite, Bayer, #[doc(hidden)] __Unknown(i32), } #[doc(hidden)] impl ToGlib for VideoDitherMethod { type GlibType = ffi::GstVideoDitherMethod; fn to_glib(&self) -> ffi::GstVideoDitherMethod { match *self { VideoDitherMethod::None => ffi::GST_VIDEO_DITHER_NONE, VideoDitherMethod::Verterr => ffi::GST_VIDEO_DITHER_VERTERR, VideoDitherMethod::FloydSteinberg => ffi::GST_VIDEO_DITHER_FLOYD_STEINBERG, VideoDitherMethod::SierraLite => ffi::GST_VIDEO_DITHER_SIERRA_LITE, VideoDitherMethod::Bayer => ffi::GST_VIDEO_DITHER_BAYER, VideoDitherMethod::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoDitherMethod { fn from_glib(value: ffi::GstVideoDitherMethod) -> Self { skip_assert_initialized!(); match value { 0 => VideoDitherMethod::None, 1 => VideoDitherMethod::Verterr, 2 => VideoDitherMethod::FloydSteinberg, 3 => VideoDitherMethod::SierraLite, 4 => VideoDitherMethod::Bayer, value => VideoDitherMethod::__Unknown(value), } } } impl StaticType for VideoDitherMethod { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_dither_method_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoDitherMethod { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoDitherMethod { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoDitherMethod { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoFieldOrder { Unknown, TopFieldFirst, BottomFieldFirst, #[doc(hidden)] __Unknown(i32), } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] impl VideoFieldOrder { #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] pub fn from_string(order: &str) -> VideoFieldOrder { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_field_order_from_string( order.to_glib_none().0, )) } } } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] impl fmt::Display for VideoFieldOrder { #[inline] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.write_str(&self.to_str()) } } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(hidden)] impl ToGlib for VideoFieldOrder { type GlibType = ffi::GstVideoFieldOrder; fn to_glib(&self) -> ffi::GstVideoFieldOrder { match *self { VideoFieldOrder::Unknown => ffi::GST_VIDEO_FIELD_ORDER_UNKNOWN, VideoFieldOrder::TopFieldFirst => ffi::GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST, VideoFieldOrder::BottomFieldFirst => ffi::GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST, VideoFieldOrder::__Unknown(value) => value, } } } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] #[doc(hidden)] impl FromGlib for VideoFieldOrder { fn from_glib(value: ffi::GstVideoFieldOrder) -> Self { skip_assert_initialized!(); match value { 0 => VideoFieldOrder::Unknown, 1 => VideoFieldOrder::TopFieldFirst, 2 => VideoFieldOrder::BottomFieldFirst, value => VideoFieldOrder::__Unknown(value), } } } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] impl StaticType for VideoFieldOrder { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_field_order_get_type()) } } } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] impl<'a> FromValueOptional<'a> for VideoFieldOrder { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] impl<'a> FromValue<'a> for VideoFieldOrder { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] impl SetValue for VideoFieldOrder { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoFormat { Unknown, Encoded, I420, Yv12, Yuy2, Uyvy, Ayuv, Rgbx, Bgrx, Xrgb, Xbgr, Rgba, Bgra, Argb, Abgr, Rgb, Bgr, Y41b, Y42b, Yvyu, Y444, V210, V216, Nv12, Nv21, Gray8, Gray16Be, Gray16Le, V308, Rgb16, Bgr16, Rgb15, Bgr15, Uyvp, A420, Rgb8p, Yuv9, Yvu9, Iyu1, Argb64, Ayuv64, R210, I42010be, I42010le, I42210be, I42210le, Y44410be, Y44410le, Gbr, Gbr10be, Gbr10le, Nv16, Nv24, Nv1264z32, A42010be, A42010le, A42210be, A42210le, A44410be, A44410le, Nv61, #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] P01010be, #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] P01010le, #[cfg(any(feature = "v1_10", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))] Iyu2, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Vyuy, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Gbra, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Gbra10be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Gbra10le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Gbr12be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Gbr12le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Gbra12be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Gbra12le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] I42012be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] I42012le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] I42212be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] I42212le, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Y44412be, #[cfg(any(feature = "v1_12", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_12")))] Y44412le, #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] Gray10Le32, #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] Nv1210le32, #[cfg(any(feature = "v1_14", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_14")))] Nv1610le32, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Nv1210le40, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Y210, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Y410, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Vuya, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Bgr10a2Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Rgb10a2Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Y44416be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Y44416le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] P016Be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] P016Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] P012Be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] P012Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Y212Be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Y212Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Y412Be, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Y412Le, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Nv124l4, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Nv1232l32, #[doc(hidden)] __Unknown(i32), } impl VideoFormat { pub fn from_fourcc(fourcc: u32) -> VideoFormat { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_format_from_fourcc(fourcc)) } } pub fn from_string(format: &str) -> VideoFormat { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_format_from_string(format.to_glib_none().0)) } } //pub fn get_palette(self) -> (/*Unimplemented*/Option, usize) { // unsafe { TODO: call ffi:gst_video_format_get_palette() } //} pub fn to_fourcc(self) -> u32 { assert_initialized_main_thread!(); unsafe { ffi::gst_video_format_to_fourcc(self.to_glib()) } } } impl fmt::Display for VideoFormat { #[inline] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.write_str(&self.to_str()) } } #[doc(hidden)] impl ToGlib for VideoFormat { type GlibType = ffi::GstVideoFormat; fn to_glib(&self) -> ffi::GstVideoFormat { match *self { VideoFormat::Unknown => ffi::GST_VIDEO_FORMAT_UNKNOWN, VideoFormat::Encoded => ffi::GST_VIDEO_FORMAT_ENCODED, VideoFormat::I420 => ffi::GST_VIDEO_FORMAT_I420, VideoFormat::Yv12 => ffi::GST_VIDEO_FORMAT_YV12, VideoFormat::Yuy2 => ffi::GST_VIDEO_FORMAT_YUY2, VideoFormat::Uyvy => ffi::GST_VIDEO_FORMAT_UYVY, VideoFormat::Ayuv => ffi::GST_VIDEO_FORMAT_AYUV, VideoFormat::Rgbx => ffi::GST_VIDEO_FORMAT_RGBx, VideoFormat::Bgrx => ffi::GST_VIDEO_FORMAT_BGRx, VideoFormat::Xrgb => ffi::GST_VIDEO_FORMAT_xRGB, VideoFormat::Xbgr => ffi::GST_VIDEO_FORMAT_xBGR, VideoFormat::Rgba => ffi::GST_VIDEO_FORMAT_RGBA, VideoFormat::Bgra => ffi::GST_VIDEO_FORMAT_BGRA, VideoFormat::Argb => ffi::GST_VIDEO_FORMAT_ARGB, VideoFormat::Abgr => ffi::GST_VIDEO_FORMAT_ABGR, VideoFormat::Rgb => ffi::GST_VIDEO_FORMAT_RGB, VideoFormat::Bgr => ffi::GST_VIDEO_FORMAT_BGR, VideoFormat::Y41b => ffi::GST_VIDEO_FORMAT_Y41B, VideoFormat::Y42b => ffi::GST_VIDEO_FORMAT_Y42B, VideoFormat::Yvyu => ffi::GST_VIDEO_FORMAT_YVYU, VideoFormat::Y444 => ffi::GST_VIDEO_FORMAT_Y444, VideoFormat::V210 => ffi::GST_VIDEO_FORMAT_v210, VideoFormat::V216 => ffi::GST_VIDEO_FORMAT_v216, VideoFormat::Nv12 => ffi::GST_VIDEO_FORMAT_NV12, VideoFormat::Nv21 => ffi::GST_VIDEO_FORMAT_NV21, VideoFormat::Gray8 => ffi::GST_VIDEO_FORMAT_GRAY8, VideoFormat::Gray16Be => ffi::GST_VIDEO_FORMAT_GRAY16_BE, VideoFormat::Gray16Le => ffi::GST_VIDEO_FORMAT_GRAY16_LE, VideoFormat::V308 => ffi::GST_VIDEO_FORMAT_v308, VideoFormat::Rgb16 => ffi::GST_VIDEO_FORMAT_RGB16, VideoFormat::Bgr16 => ffi::GST_VIDEO_FORMAT_BGR16, VideoFormat::Rgb15 => ffi::GST_VIDEO_FORMAT_RGB15, VideoFormat::Bgr15 => ffi::GST_VIDEO_FORMAT_BGR15, VideoFormat::Uyvp => ffi::GST_VIDEO_FORMAT_UYVP, VideoFormat::A420 => ffi::GST_VIDEO_FORMAT_A420, VideoFormat::Rgb8p => ffi::GST_VIDEO_FORMAT_RGB8P, VideoFormat::Yuv9 => ffi::GST_VIDEO_FORMAT_YUV9, VideoFormat::Yvu9 => ffi::GST_VIDEO_FORMAT_YVU9, VideoFormat::Iyu1 => ffi::GST_VIDEO_FORMAT_IYU1, VideoFormat::Argb64 => ffi::GST_VIDEO_FORMAT_ARGB64, VideoFormat::Ayuv64 => ffi::GST_VIDEO_FORMAT_AYUV64, VideoFormat::R210 => ffi::GST_VIDEO_FORMAT_r210, VideoFormat::I42010be => ffi::GST_VIDEO_FORMAT_I420_10BE, VideoFormat::I42010le => ffi::GST_VIDEO_FORMAT_I420_10LE, VideoFormat::I42210be => ffi::GST_VIDEO_FORMAT_I422_10BE, VideoFormat::I42210le => ffi::GST_VIDEO_FORMAT_I422_10LE, VideoFormat::Y44410be => ffi::GST_VIDEO_FORMAT_Y444_10BE, VideoFormat::Y44410le => ffi::GST_VIDEO_FORMAT_Y444_10LE, VideoFormat::Gbr => ffi::GST_VIDEO_FORMAT_GBR, VideoFormat::Gbr10be => ffi::GST_VIDEO_FORMAT_GBR_10BE, VideoFormat::Gbr10le => ffi::GST_VIDEO_FORMAT_GBR_10LE, VideoFormat::Nv16 => ffi::GST_VIDEO_FORMAT_NV16, VideoFormat::Nv24 => ffi::GST_VIDEO_FORMAT_NV24, VideoFormat::Nv1264z32 => ffi::GST_VIDEO_FORMAT_NV12_64Z32, VideoFormat::A42010be => ffi::GST_VIDEO_FORMAT_A420_10BE, VideoFormat::A42010le => ffi::GST_VIDEO_FORMAT_A420_10LE, VideoFormat::A42210be => ffi::GST_VIDEO_FORMAT_A422_10BE, VideoFormat::A42210le => ffi::GST_VIDEO_FORMAT_A422_10LE, VideoFormat::A44410be => ffi::GST_VIDEO_FORMAT_A444_10BE, VideoFormat::A44410le => ffi::GST_VIDEO_FORMAT_A444_10LE, VideoFormat::Nv61 => ffi::GST_VIDEO_FORMAT_NV61, #[cfg(any(feature = "v1_10", feature = "dox"))] VideoFormat::P01010be => ffi::GST_VIDEO_FORMAT_P010_10BE, #[cfg(any(feature = "v1_10", feature = "dox"))] VideoFormat::P01010le => ffi::GST_VIDEO_FORMAT_P010_10LE, #[cfg(any(feature = "v1_10", feature = "dox"))] VideoFormat::Iyu2 => ffi::GST_VIDEO_FORMAT_IYU2, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Vyuy => ffi::GST_VIDEO_FORMAT_VYUY, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Gbra => ffi::GST_VIDEO_FORMAT_GBRA, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Gbra10be => ffi::GST_VIDEO_FORMAT_GBRA_10BE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Gbra10le => ffi::GST_VIDEO_FORMAT_GBRA_10LE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Gbr12be => ffi::GST_VIDEO_FORMAT_GBR_12BE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Gbr12le => ffi::GST_VIDEO_FORMAT_GBR_12LE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Gbra12be => ffi::GST_VIDEO_FORMAT_GBRA_12BE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Gbra12le => ffi::GST_VIDEO_FORMAT_GBRA_12LE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::I42012be => ffi::GST_VIDEO_FORMAT_I420_12BE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::I42012le => ffi::GST_VIDEO_FORMAT_I420_12LE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::I42212be => ffi::GST_VIDEO_FORMAT_I422_12BE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::I42212le => ffi::GST_VIDEO_FORMAT_I422_12LE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Y44412be => ffi::GST_VIDEO_FORMAT_Y444_12BE, #[cfg(any(feature = "v1_12", feature = "dox"))] VideoFormat::Y44412le => ffi::GST_VIDEO_FORMAT_Y444_12LE, #[cfg(any(feature = "v1_14", feature = "dox"))] VideoFormat::Gray10Le32 => ffi::GST_VIDEO_FORMAT_GRAY10_LE32, #[cfg(any(feature = "v1_14", feature = "dox"))] VideoFormat::Nv1210le32 => ffi::GST_VIDEO_FORMAT_NV12_10LE32, #[cfg(any(feature = "v1_14", feature = "dox"))] VideoFormat::Nv1610le32 => ffi::GST_VIDEO_FORMAT_NV16_10LE32, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoFormat::Nv1210le40 => ffi::GST_VIDEO_FORMAT_NV12_10LE40, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoFormat::Y210 => ffi::GST_VIDEO_FORMAT_Y210, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoFormat::Y410 => ffi::GST_VIDEO_FORMAT_Y410, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoFormat::Vuya => ffi::GST_VIDEO_FORMAT_VUYA, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoFormat::Bgr10a2Le => ffi::GST_VIDEO_FORMAT_BGR10A2_LE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::Rgb10a2Le => ffi::GST_VIDEO_FORMAT_RGB10A2_LE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::Y44416be => ffi::GST_VIDEO_FORMAT_Y444_16BE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::Y44416le => ffi::GST_VIDEO_FORMAT_Y444_16LE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::P016Be => ffi::GST_VIDEO_FORMAT_P016_BE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::P016Le => ffi::GST_VIDEO_FORMAT_P016_LE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::P012Be => ffi::GST_VIDEO_FORMAT_P012_BE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::P012Le => ffi::GST_VIDEO_FORMAT_P012_LE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::Y212Be => ffi::GST_VIDEO_FORMAT_Y212_BE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::Y212Le => ffi::GST_VIDEO_FORMAT_Y212_LE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::Y412Be => ffi::GST_VIDEO_FORMAT_Y412_BE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::Y412Le => ffi::GST_VIDEO_FORMAT_Y412_LE, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::Nv124l4 => ffi::GST_VIDEO_FORMAT_NV12_4L4, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoFormat::Nv1232l32 => ffi::GST_VIDEO_FORMAT_NV12_32L32, VideoFormat::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoFormat { fn from_glib(value: ffi::GstVideoFormat) -> Self { skip_assert_initialized!(); match value { 0 => VideoFormat::Unknown, 1 => VideoFormat::Encoded, 2 => VideoFormat::I420, 3 => VideoFormat::Yv12, 4 => VideoFormat::Yuy2, 5 => VideoFormat::Uyvy, 6 => VideoFormat::Ayuv, 7 => VideoFormat::Rgbx, 8 => VideoFormat::Bgrx, 9 => VideoFormat::Xrgb, 10 => VideoFormat::Xbgr, 11 => VideoFormat::Rgba, 12 => VideoFormat::Bgra, 13 => VideoFormat::Argb, 14 => VideoFormat::Abgr, 15 => VideoFormat::Rgb, 16 => VideoFormat::Bgr, 17 => VideoFormat::Y41b, 18 => VideoFormat::Y42b, 19 => VideoFormat::Yvyu, 20 => VideoFormat::Y444, 21 => VideoFormat::V210, 22 => VideoFormat::V216, 23 => VideoFormat::Nv12, 24 => VideoFormat::Nv21, 25 => VideoFormat::Gray8, 26 => VideoFormat::Gray16Be, 27 => VideoFormat::Gray16Le, 28 => VideoFormat::V308, 29 => VideoFormat::Rgb16, 30 => VideoFormat::Bgr16, 31 => VideoFormat::Rgb15, 32 => VideoFormat::Bgr15, 33 => VideoFormat::Uyvp, 34 => VideoFormat::A420, 35 => VideoFormat::Rgb8p, 36 => VideoFormat::Yuv9, 37 => VideoFormat::Yvu9, 38 => VideoFormat::Iyu1, 39 => VideoFormat::Argb64, 40 => VideoFormat::Ayuv64, 41 => VideoFormat::R210, 42 => VideoFormat::I42010be, 43 => VideoFormat::I42010le, 44 => VideoFormat::I42210be, 45 => VideoFormat::I42210le, 46 => VideoFormat::Y44410be, 47 => VideoFormat::Y44410le, 48 => VideoFormat::Gbr, 49 => VideoFormat::Gbr10be, 50 => VideoFormat::Gbr10le, 51 => VideoFormat::Nv16, 52 => VideoFormat::Nv24, 53 => VideoFormat::Nv1264z32, 54 => VideoFormat::A42010be, 55 => VideoFormat::A42010le, 56 => VideoFormat::A42210be, 57 => VideoFormat::A42210le, 58 => VideoFormat::A44410be, 59 => VideoFormat::A44410le, 60 => VideoFormat::Nv61, #[cfg(any(feature = "v1_10", feature = "dox"))] 61 => VideoFormat::P01010be, #[cfg(any(feature = "v1_10", feature = "dox"))] 62 => VideoFormat::P01010le, #[cfg(any(feature = "v1_10", feature = "dox"))] 63 => VideoFormat::Iyu2, #[cfg(any(feature = "v1_12", feature = "dox"))] 64 => VideoFormat::Vyuy, #[cfg(any(feature = "v1_12", feature = "dox"))] 65 => VideoFormat::Gbra, #[cfg(any(feature = "v1_12", feature = "dox"))] 66 => VideoFormat::Gbra10be, #[cfg(any(feature = "v1_12", feature = "dox"))] 67 => VideoFormat::Gbra10le, #[cfg(any(feature = "v1_12", feature = "dox"))] 68 => VideoFormat::Gbr12be, #[cfg(any(feature = "v1_12", feature = "dox"))] 69 => VideoFormat::Gbr12le, #[cfg(any(feature = "v1_12", feature = "dox"))] 70 => VideoFormat::Gbra12be, #[cfg(any(feature = "v1_12", feature = "dox"))] 71 => VideoFormat::Gbra12le, #[cfg(any(feature = "v1_12", feature = "dox"))] 72 => VideoFormat::I42012be, #[cfg(any(feature = "v1_12", feature = "dox"))] 73 => VideoFormat::I42012le, #[cfg(any(feature = "v1_12", feature = "dox"))] 74 => VideoFormat::I42212be, #[cfg(any(feature = "v1_12", feature = "dox"))] 75 => VideoFormat::I42212le, #[cfg(any(feature = "v1_12", feature = "dox"))] 76 => VideoFormat::Y44412be, #[cfg(any(feature = "v1_12", feature = "dox"))] 77 => VideoFormat::Y44412le, #[cfg(any(feature = "v1_14", feature = "dox"))] 78 => VideoFormat::Gray10Le32, #[cfg(any(feature = "v1_14", feature = "dox"))] 79 => VideoFormat::Nv1210le32, #[cfg(any(feature = "v1_14", feature = "dox"))] 80 => VideoFormat::Nv1610le32, #[cfg(any(feature = "v1_16", feature = "dox"))] 81 => VideoFormat::Nv1210le40, #[cfg(any(feature = "v1_16", feature = "dox"))] 82 => VideoFormat::Y210, #[cfg(any(feature = "v1_16", feature = "dox"))] 83 => VideoFormat::Y410, #[cfg(any(feature = "v1_16", feature = "dox"))] 84 => VideoFormat::Vuya, #[cfg(any(feature = "v1_16", feature = "dox"))] 85 => VideoFormat::Bgr10a2Le, #[cfg(any(feature = "v1_18", feature = "dox"))] 86 => VideoFormat::Rgb10a2Le, #[cfg(any(feature = "v1_18", feature = "dox"))] 87 => VideoFormat::Y44416be, #[cfg(any(feature = "v1_18", feature = "dox"))] 88 => VideoFormat::Y44416le, #[cfg(any(feature = "v1_18", feature = "dox"))] 89 => VideoFormat::P016Be, #[cfg(any(feature = "v1_18", feature = "dox"))] 90 => VideoFormat::P016Le, #[cfg(any(feature = "v1_18", feature = "dox"))] 91 => VideoFormat::P012Be, #[cfg(any(feature = "v1_18", feature = "dox"))] 92 => VideoFormat::P012Le, #[cfg(any(feature = "v1_18", feature = "dox"))] 93 => VideoFormat::Y212Be, #[cfg(any(feature = "v1_18", feature = "dox"))] 94 => VideoFormat::Y212Le, #[cfg(any(feature = "v1_18", feature = "dox"))] 95 => VideoFormat::Y412Be, #[cfg(any(feature = "v1_18", feature = "dox"))] 96 => VideoFormat::Y412Le, #[cfg(any(feature = "v1_18", feature = "dox"))] 97 => VideoFormat::Nv124l4, #[cfg(any(feature = "v1_18", feature = "dox"))] 98 => VideoFormat::Nv1232l32, value => VideoFormat::__Unknown(value), } } } impl StaticType for VideoFormat { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_format_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoFormat { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoFormat { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoFormat { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoGammaMode { None, Remap, #[doc(hidden)] __Unknown(i32), } #[doc(hidden)] impl ToGlib for VideoGammaMode { type GlibType = ffi::GstVideoGammaMode; fn to_glib(&self) -> ffi::GstVideoGammaMode { match *self { VideoGammaMode::None => ffi::GST_VIDEO_GAMMA_MODE_NONE, VideoGammaMode::Remap => ffi::GST_VIDEO_GAMMA_MODE_REMAP, VideoGammaMode::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoGammaMode { fn from_glib(value: ffi::GstVideoGammaMode) -> Self { skip_assert_initialized!(); match value { 0 => VideoGammaMode::None, 1 => VideoGammaMode::Remap, value => VideoGammaMode::__Unknown(value), } } } impl StaticType for VideoGammaMode { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_gamma_mode_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoGammaMode { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoGammaMode { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoGammaMode { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoInterlaceMode { Progressive, Interleaved, Mixed, Fields, #[cfg(any(feature = "v1_16", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))] Alternate, #[doc(hidden)] __Unknown(i32), } impl VideoInterlaceMode { pub fn from_string(mode: &str) -> VideoInterlaceMode { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_interlace_mode_from_string( mode.to_glib_none().0, )) } } pub fn to_str<'a>(self) -> &'a str { unsafe { CStr::from_ptr( ffi::gst_video_interlace_mode_to_string(self.to_glib()) .as_ref() .expect("gst_video_interlace_mode_to_string returned NULL"), ) .to_str() .expect("gst_video_interlace_mode_to_string returned an invalid string") } } } impl fmt::Display for VideoInterlaceMode { #[inline] fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { f.write_str(&self.to_str()) } } #[doc(hidden)] impl ToGlib for VideoInterlaceMode { type GlibType = ffi::GstVideoInterlaceMode; fn to_glib(&self) -> ffi::GstVideoInterlaceMode { match *self { VideoInterlaceMode::Progressive => ffi::GST_VIDEO_INTERLACE_MODE_PROGRESSIVE, VideoInterlaceMode::Interleaved => ffi::GST_VIDEO_INTERLACE_MODE_INTERLEAVED, VideoInterlaceMode::Mixed => ffi::GST_VIDEO_INTERLACE_MODE_MIXED, VideoInterlaceMode::Fields => ffi::GST_VIDEO_INTERLACE_MODE_FIELDS, #[cfg(any(feature = "v1_16", feature = "dox"))] VideoInterlaceMode::Alternate => ffi::GST_VIDEO_INTERLACE_MODE_ALTERNATE, VideoInterlaceMode::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoInterlaceMode { fn from_glib(value: ffi::GstVideoInterlaceMode) -> Self { skip_assert_initialized!(); match value { 0 => VideoInterlaceMode::Progressive, 1 => VideoInterlaceMode::Interleaved, 2 => VideoInterlaceMode::Mixed, 3 => VideoInterlaceMode::Fields, #[cfg(any(feature = "v1_16", feature = "dox"))] 4 => VideoInterlaceMode::Alternate, value => VideoInterlaceMode::__Unknown(value), } } } impl StaticType for VideoInterlaceMode { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_interlace_mode_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoInterlaceMode { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoInterlaceMode { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoInterlaceMode { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoMatrixMode { Full, InputOnly, OutputOnly, None, #[doc(hidden)] __Unknown(i32), } #[doc(hidden)] impl ToGlib for VideoMatrixMode { type GlibType = ffi::GstVideoMatrixMode; fn to_glib(&self) -> ffi::GstVideoMatrixMode { match *self { VideoMatrixMode::Full => ffi::GST_VIDEO_MATRIX_MODE_FULL, VideoMatrixMode::InputOnly => ffi::GST_VIDEO_MATRIX_MODE_INPUT_ONLY, VideoMatrixMode::OutputOnly => ffi::GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY, VideoMatrixMode::None => ffi::GST_VIDEO_MATRIX_MODE_NONE, VideoMatrixMode::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoMatrixMode { fn from_glib(value: ffi::GstVideoMatrixMode) -> Self { skip_assert_initialized!(); match value { 0 => VideoMatrixMode::Full, 1 => VideoMatrixMode::InputOnly, 2 => VideoMatrixMode::OutputOnly, 3 => VideoMatrixMode::None, value => VideoMatrixMode::__Unknown(value), } } } impl StaticType for VideoMatrixMode { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_matrix_mode_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoMatrixMode { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoMatrixMode { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoMatrixMode { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoMultiviewFramePacking { None, Mono, Left, Right, SideBySide, SideBySideQuincunx, ColumnInterleaved, RowInterleaved, TopBottom, Checkerboard, #[doc(hidden)] __Unknown(i32), } #[doc(hidden)] impl ToGlib for VideoMultiviewFramePacking { type GlibType = ffi::GstVideoMultiviewFramePacking; fn to_glib(&self) -> ffi::GstVideoMultiviewFramePacking { match *self { VideoMultiviewFramePacking::None => ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE, VideoMultiviewFramePacking::Mono => ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO, VideoMultiviewFramePacking::Left => ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT, VideoMultiviewFramePacking::Right => ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT, VideoMultiviewFramePacking::SideBySide => { ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE } VideoMultiviewFramePacking::SideBySideQuincunx => { ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX } VideoMultiviewFramePacking::ColumnInterleaved => { ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED } VideoMultiviewFramePacking::RowInterleaved => { ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED } VideoMultiviewFramePacking::TopBottom => { ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM } VideoMultiviewFramePacking::Checkerboard => { ffi::GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD } VideoMultiviewFramePacking::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoMultiviewFramePacking { fn from_glib(value: ffi::GstVideoMultiviewFramePacking) -> Self { skip_assert_initialized!(); match value { -1 => VideoMultiviewFramePacking::None, 0 => VideoMultiviewFramePacking::Mono, 1 => VideoMultiviewFramePacking::Left, 2 => VideoMultiviewFramePacking::Right, 3 => VideoMultiviewFramePacking::SideBySide, 4 => VideoMultiviewFramePacking::SideBySideQuincunx, 5 => VideoMultiviewFramePacking::ColumnInterleaved, 6 => VideoMultiviewFramePacking::RowInterleaved, 7 => VideoMultiviewFramePacking::TopBottom, 8 => VideoMultiviewFramePacking::Checkerboard, value => VideoMultiviewFramePacking::__Unknown(value), } } } impl StaticType for VideoMultiviewFramePacking { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_multiview_frame_packing_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoMultiviewFramePacking { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoMultiviewFramePacking { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoMultiviewFramePacking { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoMultiviewMode { None, Mono, Left, Right, SideBySide, SideBySideQuincunx, ColumnInterleaved, RowInterleaved, TopBottom, Checkerboard, FrameByFrame, MultiviewFrameByFrame, Separated, #[doc(hidden)] __Unknown(i32), } impl VideoMultiviewMode { pub fn from_caps_string(caps_mview_mode: &str) -> VideoMultiviewMode { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_multiview_mode_from_caps_string( caps_mview_mode.to_glib_none().0, )) } } pub fn to_caps_string(self) -> Option { assert_initialized_main_thread!(); unsafe { from_glib_none(ffi::gst_video_multiview_mode_to_caps_string(self.to_glib())) } } } #[doc(hidden)] impl ToGlib for VideoMultiviewMode { type GlibType = ffi::GstVideoMultiviewMode; fn to_glib(&self) -> ffi::GstVideoMultiviewMode { match *self { VideoMultiviewMode::None => ffi::GST_VIDEO_MULTIVIEW_MODE_NONE, VideoMultiviewMode::Mono => ffi::GST_VIDEO_MULTIVIEW_MODE_MONO, VideoMultiviewMode::Left => ffi::GST_VIDEO_MULTIVIEW_MODE_LEFT, VideoMultiviewMode::Right => ffi::GST_VIDEO_MULTIVIEW_MODE_RIGHT, VideoMultiviewMode::SideBySide => ffi::GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE, VideoMultiviewMode::SideBySideQuincunx => { ffi::GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX } VideoMultiviewMode::ColumnInterleaved => { ffi::GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED } VideoMultiviewMode::RowInterleaved => ffi::GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED, VideoMultiviewMode::TopBottom => ffi::GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM, VideoMultiviewMode::Checkerboard => ffi::GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD, VideoMultiviewMode::FrameByFrame => ffi::GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME, VideoMultiviewMode::MultiviewFrameByFrame => { ffi::GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME } VideoMultiviewMode::Separated => ffi::GST_VIDEO_MULTIVIEW_MODE_SEPARATED, VideoMultiviewMode::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoMultiviewMode { fn from_glib(value: ffi::GstVideoMultiviewMode) -> Self { skip_assert_initialized!(); match value { -1 => VideoMultiviewMode::None, 0 => VideoMultiviewMode::Mono, 1 => VideoMultiviewMode::Left, 2 => VideoMultiviewMode::Right, 3 => VideoMultiviewMode::SideBySide, 4 => VideoMultiviewMode::SideBySideQuincunx, 5 => VideoMultiviewMode::ColumnInterleaved, 6 => VideoMultiviewMode::RowInterleaved, 7 => VideoMultiviewMode::TopBottom, 8 => VideoMultiviewMode::Checkerboard, 32 => VideoMultiviewMode::FrameByFrame, 33 => VideoMultiviewMode::MultiviewFrameByFrame, 34 => VideoMultiviewMode::Separated, value => VideoMultiviewMode::__Unknown(value), } } } impl StaticType for VideoMultiviewMode { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_multiview_mode_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoMultiviewMode { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoMultiviewMode { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoMultiviewMode { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoPrimariesMode { None, MergeOnly, Fast, #[doc(hidden)] __Unknown(i32), } #[doc(hidden)] impl ToGlib for VideoPrimariesMode { type GlibType = ffi::GstVideoPrimariesMode; fn to_glib(&self) -> ffi::GstVideoPrimariesMode { match *self { VideoPrimariesMode::None => ffi::GST_VIDEO_PRIMARIES_MODE_NONE, VideoPrimariesMode::MergeOnly => ffi::GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY, VideoPrimariesMode::Fast => ffi::GST_VIDEO_PRIMARIES_MODE_FAST, VideoPrimariesMode::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoPrimariesMode { fn from_glib(value: ffi::GstVideoPrimariesMode) -> Self { skip_assert_initialized!(); match value { 0 => VideoPrimariesMode::None, 1 => VideoPrimariesMode::MergeOnly, 2 => VideoPrimariesMode::Fast, value => VideoPrimariesMode::__Unknown(value), } } } impl StaticType for VideoPrimariesMode { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_primaries_mode_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoPrimariesMode { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoPrimariesMode { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoPrimariesMode { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoResamplerMethod { Nearest, Linear, Cubic, Sinc, Lanczos, #[doc(hidden)] __Unknown(i32), } #[doc(hidden)] impl ToGlib for VideoResamplerMethod { type GlibType = ffi::GstVideoResamplerMethod; fn to_glib(&self) -> ffi::GstVideoResamplerMethod { match *self { VideoResamplerMethod::Nearest => ffi::GST_VIDEO_RESAMPLER_METHOD_NEAREST, VideoResamplerMethod::Linear => ffi::GST_VIDEO_RESAMPLER_METHOD_LINEAR, VideoResamplerMethod::Cubic => ffi::GST_VIDEO_RESAMPLER_METHOD_CUBIC, VideoResamplerMethod::Sinc => ffi::GST_VIDEO_RESAMPLER_METHOD_SINC, VideoResamplerMethod::Lanczos => ffi::GST_VIDEO_RESAMPLER_METHOD_LANCZOS, VideoResamplerMethod::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoResamplerMethod { fn from_glib(value: ffi::GstVideoResamplerMethod) -> Self { skip_assert_initialized!(); match value { 0 => VideoResamplerMethod::Nearest, 1 => VideoResamplerMethod::Linear, 2 => VideoResamplerMethod::Cubic, 3 => VideoResamplerMethod::Sinc, 4 => VideoResamplerMethod::Lanczos, value => VideoResamplerMethod::__Unknown(value), } } } impl StaticType for VideoResamplerMethod { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_resampler_method_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoResamplerMethod { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoResamplerMethod { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoResamplerMethod { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoTileMode { Unknown, Zflipz2x2, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Linear, #[doc(hidden)] __Unknown(i32), } #[doc(hidden)] impl ToGlib for VideoTileMode { type GlibType = ffi::GstVideoTileMode; fn to_glib(&self) -> ffi::GstVideoTileMode { match *self { VideoTileMode::Unknown => ffi::GST_VIDEO_TILE_MODE_UNKNOWN, VideoTileMode::Zflipz2x2 => ffi::GST_VIDEO_TILE_MODE_ZFLIPZ_2X2, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoTileMode::Linear => ffi::GST_VIDEO_TILE_MODE_LINEAR, VideoTileMode::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoTileMode { fn from_glib(value: ffi::GstVideoTileMode) -> Self { skip_assert_initialized!(); match value { 0 => VideoTileMode::Unknown, 65536 => VideoTileMode::Zflipz2x2, #[cfg(any(feature = "v1_18", feature = "dox"))] 131072 => VideoTileMode::Linear, value => VideoTileMode::__Unknown(value), } } } impl StaticType for VideoTileMode { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_tile_mode_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoTileMode { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoTileMode { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoTileMode { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } } #[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)] #[non_exhaustive] pub enum VideoTransferFunction { Unknown, Gamma10, Gamma18, Gamma20, Gamma22, Bt709, Smpte240m, Srgb, Gamma28, Log100, Log316, Bt202012, Adobergb, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Bt202010, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Smpte2084, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] AribStdB67, #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] Bt601, #[doc(hidden)] __Unknown(i32), } impl VideoTransferFunction { #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn from_iso(value: u32) -> VideoTransferFunction { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_transfer_function_from_iso(value)) } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn is_equivalent(self, from_bpp: u32, to_func: VideoTransferFunction, to_bpp: u32) -> bool { assert_initialized_main_thread!(); unsafe { from_glib(ffi::gst_video_transfer_function_is_equivalent( self.to_glib(), from_bpp, to_func.to_glib(), to_bpp, )) } } #[cfg(any(feature = "v1_18", feature = "dox"))] #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_18")))] pub fn to_iso(self) -> u32 { assert_initialized_main_thread!(); unsafe { ffi::gst_video_transfer_function_to_iso(self.to_glib()) } } } #[doc(hidden)] impl ToGlib for VideoTransferFunction { type GlibType = ffi::GstVideoTransferFunction; fn to_glib(&self) -> ffi::GstVideoTransferFunction { match *self { VideoTransferFunction::Unknown => ffi::GST_VIDEO_TRANSFER_UNKNOWN, VideoTransferFunction::Gamma10 => ffi::GST_VIDEO_TRANSFER_GAMMA10, VideoTransferFunction::Gamma18 => ffi::GST_VIDEO_TRANSFER_GAMMA18, VideoTransferFunction::Gamma20 => ffi::GST_VIDEO_TRANSFER_GAMMA20, VideoTransferFunction::Gamma22 => ffi::GST_VIDEO_TRANSFER_GAMMA22, VideoTransferFunction::Bt709 => ffi::GST_VIDEO_TRANSFER_BT709, VideoTransferFunction::Smpte240m => ffi::GST_VIDEO_TRANSFER_SMPTE240M, VideoTransferFunction::Srgb => ffi::GST_VIDEO_TRANSFER_SRGB, VideoTransferFunction::Gamma28 => ffi::GST_VIDEO_TRANSFER_GAMMA28, VideoTransferFunction::Log100 => ffi::GST_VIDEO_TRANSFER_LOG100, VideoTransferFunction::Log316 => ffi::GST_VIDEO_TRANSFER_LOG316, VideoTransferFunction::Bt202012 => ffi::GST_VIDEO_TRANSFER_BT2020_12, VideoTransferFunction::Adobergb => ffi::GST_VIDEO_TRANSFER_ADOBERGB, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoTransferFunction::Bt202010 => ffi::GST_VIDEO_TRANSFER_BT2020_10, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoTransferFunction::Smpte2084 => ffi::GST_VIDEO_TRANSFER_SMPTE2084, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoTransferFunction::AribStdB67 => ffi::GST_VIDEO_TRANSFER_ARIB_STD_B67, #[cfg(any(feature = "v1_18", feature = "dox"))] VideoTransferFunction::Bt601 => ffi::GST_VIDEO_TRANSFER_BT601, VideoTransferFunction::__Unknown(value) => value, } } } #[doc(hidden)] impl FromGlib for VideoTransferFunction { fn from_glib(value: ffi::GstVideoTransferFunction) -> Self { skip_assert_initialized!(); match value { 0 => VideoTransferFunction::Unknown, 1 => VideoTransferFunction::Gamma10, 2 => VideoTransferFunction::Gamma18, 3 => VideoTransferFunction::Gamma20, 4 => VideoTransferFunction::Gamma22, 5 => VideoTransferFunction::Bt709, 6 => VideoTransferFunction::Smpte240m, 7 => VideoTransferFunction::Srgb, 8 => VideoTransferFunction::Gamma28, 9 => VideoTransferFunction::Log100, 10 => VideoTransferFunction::Log316, 11 => VideoTransferFunction::Bt202012, 12 => VideoTransferFunction::Adobergb, #[cfg(any(feature = "v1_18", feature = "dox"))] 13 => VideoTransferFunction::Bt202010, #[cfg(any(feature = "v1_18", feature = "dox"))] 14 => VideoTransferFunction::Smpte2084, #[cfg(any(feature = "v1_18", feature = "dox"))] 15 => VideoTransferFunction::AribStdB67, #[cfg(any(feature = "v1_18", feature = "dox"))] 16 => VideoTransferFunction::Bt601, value => VideoTransferFunction::__Unknown(value), } } } impl StaticType for VideoTransferFunction { fn static_type() -> Type { unsafe { from_glib(ffi::gst_video_transfer_function_get_type()) } } } impl<'a> FromValueOptional<'a> for VideoTransferFunction { unsafe fn from_value_optional(value: &glib::Value) -> Option { Some(FromValue::from_value(value)) } } impl<'a> FromValue<'a> for VideoTransferFunction { unsafe fn from_value(value: &glib::Value) -> Self { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) } } impl SetValue for VideoTransferFunction { unsafe fn set_value(value: &mut glib::Value, this: &Self) { glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib()) } }