2018-11-27 21:52:42 +00:00
|
|
|
// This file was generated by gir (https://github.com/gtk-rs/gir)
|
|
|
|
// from gir-files (https://github.com/gtk-rs/gir-files)
|
2021-04-01 13:58:41 +00:00
|
|
|
// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
|
2018-11-27 21:52:42 +00:00
|
|
|
// DO NOT EDIT
|
|
|
|
|
2020-12-07 11:11:04 +00:00
|
|
|
#[cfg(any(feature = "v1_16", feature = "dox"))]
|
|
|
|
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
|
|
|
|
use crate::GLContext;
|
|
|
|
use crate::GLSLProfile;
|
2018-11-27 21:52:42 +00:00
|
|
|
use glib::error::ErrorDomain;
|
2020-12-07 11:11:04 +00:00
|
|
|
#[cfg(any(feature = "v1_16", feature = "dox"))]
|
|
|
|
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
|
|
|
|
use glib::object::IsA;
|
2018-11-27 21:52:42 +00:00
|
|
|
use glib::translate::*;
|
|
|
|
use glib::value::FromValue;
|
|
|
|
use glib::value::FromValueOptional;
|
|
|
|
use glib::value::SetValue;
|
2019-06-18 10:12:00 +00:00
|
|
|
use glib::Quark;
|
|
|
|
use glib::StaticType;
|
|
|
|
use glib::Type;
|
2020-12-07 11:11:04 +00:00
|
|
|
use std::mem;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2019-06-18 10:12:00 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
2020-04-12 15:55:06 +00:00
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstGLContextError")]
|
2018-11-27 21:52:42 +00:00
|
|
|
pub enum GLContextError {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_CONTEXT_ERROR_FAILED")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Failed,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_CONTEXT_ERROR_WRONG_CONFIG")]
|
2018-11-27 21:52:42 +00:00
|
|
|
WrongConfig,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_CONTEXT_ERROR_WRONG_API")]
|
2018-11-27 21:52:42 +00:00
|
|
|
WrongApi,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_CONTEXT_ERROR_OLD_LIBS")]
|
2018-11-27 21:52:42 +00:00
|
|
|
OldLibs,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_CONTEXT_ERROR_CREATE_CONTEXT")]
|
2018-11-27 21:52:42 +00:00
|
|
|
CreateContext,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
ResourceUnavailable,
|
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
|
|
|
impl ToGlib for GLContextError {
|
2020-11-22 10:20:20 +00:00
|
|
|
type GlibType = ffi::GstGLContextError;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
fn to_glib(&self) -> ffi::GstGLContextError {
|
2018-11-27 21:52:42 +00:00
|
|
|
match *self {
|
2020-11-22 10:20:20 +00:00
|
|
|
GLContextError::Failed => ffi::GST_GL_CONTEXT_ERROR_FAILED,
|
|
|
|
GLContextError::WrongConfig => ffi::GST_GL_CONTEXT_ERROR_WRONG_CONFIG,
|
|
|
|
GLContextError::WrongApi => ffi::GST_GL_CONTEXT_ERROR_WRONG_API,
|
|
|
|
GLContextError::OldLibs => ffi::GST_GL_CONTEXT_ERROR_OLD_LIBS,
|
|
|
|
GLContextError::CreateContext => ffi::GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
|
|
|
|
GLContextError::ResourceUnavailable => ffi::GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE,
|
2019-06-18 10:12:00 +00:00
|
|
|
GLContextError::__Unknown(value) => value,
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-22 10:20:20 +00:00
|
|
|
impl FromGlib<ffi::GstGLContextError> for GLContextError {
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstGLContextError) -> Self {
|
2018-11-27 21:52:42 +00:00
|
|
|
skip_assert_initialized!();
|
|
|
|
match value {
|
|
|
|
0 => GLContextError::Failed,
|
|
|
|
1 => GLContextError::WrongConfig,
|
|
|
|
2 => GLContextError::WrongApi,
|
|
|
|
3 => GLContextError::OldLibs,
|
|
|
|
4 => GLContextError::CreateContext,
|
|
|
|
5 => GLContextError::ResourceUnavailable,
|
|
|
|
value => GLContextError::__Unknown(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl ErrorDomain for GLContextError {
|
|
|
|
fn domain() -> Quark {
|
|
|
|
skip_assert_initialized!();
|
2020-10-31 07:36:53 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_gl_context_error_quark()) }
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
fn code(self) -> i32 {
|
|
|
|
self.to_glib()
|
|
|
|
}
|
|
|
|
|
|
|
|
fn from(code: i32) -> Option<Self> {
|
|
|
|
skip_assert_initialized!();
|
|
|
|
match code {
|
|
|
|
0 => Some(GLContextError::Failed),
|
|
|
|
1 => Some(GLContextError::WrongConfig),
|
|
|
|
2 => Some(GLContextError::WrongApi),
|
|
|
|
3 => Some(GLContextError::OldLibs),
|
|
|
|
4 => Some(GLContextError::CreateContext),
|
|
|
|
5 => Some(GLContextError::ResourceUnavailable),
|
|
|
|
_ => Some(GLContextError::Failed),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-23 14:32:09 +00:00
|
|
|
impl StaticType for GLContextError {
|
|
|
|
fn static_type() -> Type {
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_gl_context_error_get_type()) }
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValueOptional<'a> for GLContextError {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
|
2019-04-23 14:32:09 +00:00
|
|
|
Some(FromValue::from_value(value))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValue<'a> for GLContextError {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value(value: &glib::Value) -> Self {
|
2020-11-22 10:20:20 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SetValue for GLContextError {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
|
2020-11-22 10:20:20 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-18 10:12:00 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
2020-04-12 15:55:06 +00:00
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstGLFormat")]
|
2018-11-27 21:52:42 +00:00
|
|
|
pub enum GLFormat {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_LUMINANCE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Luminance,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_ALPHA")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Alpha,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_LUMINANCE_ALPHA")]
|
2018-11-27 21:52:42 +00:00
|
|
|
LuminanceAlpha,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RED")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Red,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_R8")]
|
2018-11-27 21:52:42 +00:00
|
|
|
R8,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RG")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Rg,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RG8")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Rg8,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RGB")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Rgb,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RGB8")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Rgb8,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RGB565")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Rgb565,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RGB16")]
|
2019-04-23 14:32:09 +00:00
|
|
|
Rgb16,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RGBA")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Rgba,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RGBA8")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Rgba8,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RGBA16")]
|
2019-04-23 14:32:09 +00:00
|
|
|
Rgba16,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_DEPTH_COMPONENT16")]
|
2018-11-27 21:52:42 +00:00
|
|
|
DepthComponent16,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_DEPTH24_STENCIL8")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Depth24Stencil8,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RGB10_A2")]
|
2020-04-30 16:51:41 +00:00
|
|
|
Rgb10A2,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_R16")]
|
2020-04-30 16:51:41 +00:00
|
|
|
R16,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_RG16")]
|
2020-04-30 16:51:41 +00:00
|
|
|
Rg16,
|
2018-11-27 21:52:42 +00:00
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
2020-12-07 11:11:04 +00:00
|
|
|
impl GLFormat {
|
2020-12-08 13:00:17 +00:00
|
|
|
//#[doc(alias = "gst_gl_format_from_video_info")]
|
2020-12-07 11:11:04 +00:00
|
|
|
//pub fn from_video_info<P: IsA<GLContext>>(context: &P, vinfo: /*Ignored*/&mut gst_video::VideoInfo, plane: u32) -> GLFormat {
|
|
|
|
// unsafe { TODO: call ffi:gst_gl_format_from_video_info() }
|
|
|
|
//}
|
|
|
|
|
|
|
|
#[cfg(any(feature = "v1_16", feature = "dox"))]
|
|
|
|
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_gl_format_is_supported")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn is_supported<P: IsA<GLContext>>(context: &P, format: GLFormat) -> bool {
|
|
|
|
skip_assert_initialized!();
|
|
|
|
unsafe {
|
|
|
|
from_glib(ffi::gst_gl_format_is_supported(
|
|
|
|
context.as_ref().to_glib_none().0,
|
|
|
|
format.to_glib(),
|
|
|
|
))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[cfg(any(feature = "v1_16", feature = "dox"))]
|
|
|
|
#[cfg_attr(feature = "dox", doc(cfg(feature = "v1_16")))]
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_gl_format_type_from_sized_gl_format")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn type_from_sized_gl_format(self) -> (GLFormat, u32) {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe {
|
|
|
|
let mut unsized_format = mem::MaybeUninit::uninit();
|
|
|
|
let mut gl_type = mem::MaybeUninit::uninit();
|
|
|
|
ffi::gst_gl_format_type_from_sized_gl_format(
|
|
|
|
self.to_glib(),
|
|
|
|
unsized_format.as_mut_ptr(),
|
|
|
|
gl_type.as_mut_ptr(),
|
|
|
|
);
|
|
|
|
let unsized_format = unsized_format.assume_init();
|
|
|
|
let gl_type = gl_type.assume_init();
|
|
|
|
(from_glib(unsized_format), gl_type)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_gl_format_type_n_bytes")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn type_n_bytes(format: u32, type_: u32) -> u32 {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe { ffi::gst_gl_format_type_n_bytes(format, type_) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-11-27 21:52:42 +00:00
|
|
|
#[doc(hidden)]
|
|
|
|
impl ToGlib for GLFormat {
|
2020-11-22 10:20:20 +00:00
|
|
|
type GlibType = ffi::GstGLFormat;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
fn to_glib(&self) -> ffi::GstGLFormat {
|
2018-11-27 21:52:42 +00:00
|
|
|
match *self {
|
2020-11-22 10:20:20 +00:00
|
|
|
GLFormat::Luminance => ffi::GST_GL_LUMINANCE,
|
|
|
|
GLFormat::Alpha => ffi::GST_GL_ALPHA,
|
|
|
|
GLFormat::LuminanceAlpha => ffi::GST_GL_LUMINANCE_ALPHA,
|
|
|
|
GLFormat::Red => ffi::GST_GL_RED,
|
|
|
|
GLFormat::R8 => ffi::GST_GL_R8,
|
|
|
|
GLFormat::Rg => ffi::GST_GL_RG,
|
|
|
|
GLFormat::Rg8 => ffi::GST_GL_RG8,
|
|
|
|
GLFormat::Rgb => ffi::GST_GL_RGB,
|
|
|
|
GLFormat::Rgb8 => ffi::GST_GL_RGB8,
|
|
|
|
GLFormat::Rgb565 => ffi::GST_GL_RGB565,
|
|
|
|
GLFormat::Rgb16 => ffi::GST_GL_RGB16,
|
|
|
|
GLFormat::Rgba => ffi::GST_GL_RGBA,
|
|
|
|
GLFormat::Rgba8 => ffi::GST_GL_RGBA8,
|
|
|
|
GLFormat::Rgba16 => ffi::GST_GL_RGBA16,
|
|
|
|
GLFormat::DepthComponent16 => ffi::GST_GL_DEPTH_COMPONENT16,
|
|
|
|
GLFormat::Depth24Stencil8 => ffi::GST_GL_DEPTH24_STENCIL8,
|
|
|
|
GLFormat::Rgb10A2 => ffi::GST_GL_RGB10_A2,
|
|
|
|
GLFormat::R16 => ffi::GST_GL_R16,
|
|
|
|
GLFormat::Rg16 => ffi::GST_GL_RG16,
|
2019-06-18 10:12:00 +00:00
|
|
|
GLFormat::__Unknown(value) => value,
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-22 10:20:20 +00:00
|
|
|
impl FromGlib<ffi::GstGLFormat> for GLFormat {
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstGLFormat) -> Self {
|
2018-11-27 21:52:42 +00:00
|
|
|
skip_assert_initialized!();
|
|
|
|
match value {
|
|
|
|
6409 => GLFormat::Luminance,
|
|
|
|
6406 => GLFormat::Alpha,
|
|
|
|
6410 => GLFormat::LuminanceAlpha,
|
|
|
|
6403 => GLFormat::Red,
|
|
|
|
33321 => GLFormat::R8,
|
|
|
|
33319 => GLFormat::Rg,
|
|
|
|
33323 => GLFormat::Rg8,
|
|
|
|
6407 => GLFormat::Rgb,
|
|
|
|
32849 => GLFormat::Rgb8,
|
|
|
|
36194 => GLFormat::Rgb565,
|
2019-04-23 14:32:09 +00:00
|
|
|
32852 => GLFormat::Rgb16,
|
2018-11-27 21:52:42 +00:00
|
|
|
6408 => GLFormat::Rgba,
|
|
|
|
32856 => GLFormat::Rgba8,
|
2019-04-23 14:32:09 +00:00
|
|
|
32859 => GLFormat::Rgba16,
|
2018-11-27 21:52:42 +00:00
|
|
|
33189 => GLFormat::DepthComponent16,
|
|
|
|
35056 => GLFormat::Depth24Stencil8,
|
2020-04-30 16:51:41 +00:00
|
|
|
32857 => GLFormat::Rgb10A2,
|
|
|
|
33322 => GLFormat::R16,
|
|
|
|
33324 => GLFormat::Rg16,
|
2018-11-27 21:52:42 +00:00
|
|
|
value => GLFormat::__Unknown(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-23 14:32:09 +00:00
|
|
|
impl StaticType for GLFormat {
|
|
|
|
fn static_type() -> Type {
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_gl_format_get_type()) }
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValueOptional<'a> for GLFormat {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
|
2019-04-23 14:32:09 +00:00
|
|
|
Some(FromValue::from_value(value))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValue<'a> for GLFormat {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value(value: &glib::Value) -> Self {
|
2020-11-22 10:20:20 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SetValue for GLFormat {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
|
2020-11-22 10:20:20 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-18 10:12:00 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
2020-04-12 15:55:06 +00:00
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstGLQueryType")]
|
2018-11-27 21:52:42 +00:00
|
|
|
pub enum GLQueryType {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_QUERY_NONE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
None,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_QUERY_TIME_ELAPSED")]
|
2018-11-27 21:52:42 +00:00
|
|
|
TimeElapsed,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_QUERY_TIMESTAMP")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Timestamp,
|
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
|
|
|
impl ToGlib for GLQueryType {
|
2020-11-22 10:20:20 +00:00
|
|
|
type GlibType = ffi::GstGLQueryType;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
fn to_glib(&self) -> ffi::GstGLQueryType {
|
2018-11-27 21:52:42 +00:00
|
|
|
match *self {
|
2020-11-22 10:20:20 +00:00
|
|
|
GLQueryType::None => ffi::GST_GL_QUERY_NONE,
|
|
|
|
GLQueryType::TimeElapsed => ffi::GST_GL_QUERY_TIME_ELAPSED,
|
|
|
|
GLQueryType::Timestamp => ffi::GST_GL_QUERY_TIMESTAMP,
|
2019-06-18 10:12:00 +00:00
|
|
|
GLQueryType::__Unknown(value) => value,
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-22 10:20:20 +00:00
|
|
|
impl FromGlib<ffi::GstGLQueryType> for GLQueryType {
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstGLQueryType) -> Self {
|
2018-11-27 21:52:42 +00:00
|
|
|
skip_assert_initialized!();
|
|
|
|
match value {
|
|
|
|
0 => GLQueryType::None,
|
|
|
|
1 => GLQueryType::TimeElapsed,
|
|
|
|
2 => GLQueryType::Timestamp,
|
|
|
|
value => GLQueryType::__Unknown(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-23 14:32:09 +00:00
|
|
|
impl StaticType for GLQueryType {
|
|
|
|
fn static_type() -> Type {
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_gl_query_type_get_type()) }
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValueOptional<'a> for GLQueryType {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
|
2019-04-23 14:32:09 +00:00
|
|
|
Some(FromValue::from_value(value))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValue<'a> for GLQueryType {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value(value: &glib::Value) -> Self {
|
2020-11-22 10:20:20 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SetValue for GLQueryType {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
|
2020-11-22 10:20:20 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-18 10:12:00 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
2020-04-12 15:55:06 +00:00
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstGLSLError")]
|
2018-11-27 21:52:42 +00:00
|
|
|
pub enum GLSLError {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_ERROR_COMPILE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Compile,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_ERROR_LINK")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Link,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_ERROR_PROGRAM")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Program,
|
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
|
|
|
impl ToGlib for GLSLError {
|
2020-11-22 10:20:20 +00:00
|
|
|
type GlibType = ffi::GstGLSLError;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
fn to_glib(&self) -> ffi::GstGLSLError {
|
2018-11-27 21:52:42 +00:00
|
|
|
match *self {
|
2020-11-22 10:20:20 +00:00
|
|
|
GLSLError::Compile => ffi::GST_GLSL_ERROR_COMPILE,
|
|
|
|
GLSLError::Link => ffi::GST_GLSL_ERROR_LINK,
|
|
|
|
GLSLError::Program => ffi::GST_GLSL_ERROR_PROGRAM,
|
2019-06-18 10:12:00 +00:00
|
|
|
GLSLError::__Unknown(value) => value,
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-22 10:20:20 +00:00
|
|
|
impl FromGlib<ffi::GstGLSLError> for GLSLError {
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstGLSLError) -> Self {
|
2018-11-27 21:52:42 +00:00
|
|
|
skip_assert_initialized!();
|
|
|
|
match value {
|
|
|
|
0 => GLSLError::Compile,
|
|
|
|
1 => GLSLError::Link,
|
|
|
|
2 => GLSLError::Program,
|
|
|
|
value => GLSLError::__Unknown(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl ErrorDomain for GLSLError {
|
|
|
|
fn domain() -> Quark {
|
|
|
|
skip_assert_initialized!();
|
2020-10-31 07:36:53 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_glsl_error_quark()) }
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
fn code(self) -> i32 {
|
|
|
|
self.to_glib()
|
|
|
|
}
|
|
|
|
|
|
|
|
fn from(code: i32) -> Option<Self> {
|
|
|
|
skip_assert_initialized!();
|
|
|
|
match code {
|
|
|
|
0 => Some(GLSLError::Compile),
|
|
|
|
1 => Some(GLSLError::Link),
|
|
|
|
2 => Some(GLSLError::Program),
|
|
|
|
value => Some(GLSLError::__Unknown(value)),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-23 14:32:09 +00:00
|
|
|
impl StaticType for GLSLError {
|
|
|
|
fn static_type() -> Type {
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_glsl_error_get_type()) }
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValueOptional<'a> for GLSLError {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
|
2019-04-23 14:32:09 +00:00
|
|
|
Some(FromValue::from_value(value))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValue<'a> for GLSLError {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value(value: &glib::Value) -> Self {
|
2020-11-22 10:20:20 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SetValue for GLSLError {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
|
2020-11-22 10:20:20 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-18 10:12:00 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
2020-04-12 15:55:06 +00:00
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstGLSLVersion")]
|
2018-11-27 21:52:42 +00:00
|
|
|
pub enum GLSLVersion {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_NONE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
None,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_100")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_100,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_110")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_110,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_120")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_120,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_130")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_130,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_140")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_140,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_150")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_150,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_300")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_300,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_310")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_310,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_320")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_320,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_330")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_330,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_400")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_400,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_410")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_410,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_420")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_420,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_430")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_430,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_440")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_440,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GLSL_VERSION_450")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_450,
|
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
2020-12-07 11:11:04 +00:00
|
|
|
impl GLSLVersion {
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_glsl_version_from_string")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn from_string(string: &str) -> GLSLVersion {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe { from_glib(ffi::gst_glsl_version_from_string(string.to_glib_none().0)) }
|
|
|
|
}
|
|
|
|
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_glsl_version_profile_from_string")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn profile_from_string(string: &str) -> Option<(GLSLVersion, GLSLProfile)> {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe {
|
|
|
|
let mut version_ret = mem::MaybeUninit::uninit();
|
|
|
|
let mut profile_ret = mem::MaybeUninit::uninit();
|
|
|
|
let ret = from_glib(ffi::gst_glsl_version_profile_from_string(
|
|
|
|
string.to_glib_none().0,
|
|
|
|
version_ret.as_mut_ptr(),
|
|
|
|
profile_ret.as_mut_ptr(),
|
|
|
|
));
|
|
|
|
let version_ret = version_ret.assume_init();
|
|
|
|
let profile_ret = profile_ret.assume_init();
|
|
|
|
if ret {
|
|
|
|
Some((from_glib(version_ret), from_glib(profile_ret)))
|
|
|
|
} else {
|
|
|
|
None
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_glsl_version_profile_to_string")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn profile_to_string(self, profile: GLSLProfile) -> Option<glib::GString> {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe {
|
|
|
|
from_glib_full(ffi::gst_glsl_version_profile_to_string(
|
|
|
|
self.to_glib(),
|
|
|
|
profile.to_glib(),
|
|
|
|
))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_glsl_version_to_string")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn to_str(self) -> Option<glib::GString> {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe { from_glib_none(ffi::gst_glsl_version_to_string(self.to_glib())) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-11-27 21:52:42 +00:00
|
|
|
#[doc(hidden)]
|
|
|
|
impl ToGlib for GLSLVersion {
|
2020-11-22 10:20:20 +00:00
|
|
|
type GlibType = ffi::GstGLSLVersion;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
fn to_glib(&self) -> ffi::GstGLSLVersion {
|
2018-11-27 21:52:42 +00:00
|
|
|
match *self {
|
2020-11-22 10:20:20 +00:00
|
|
|
GLSLVersion::None => ffi::GST_GLSL_VERSION_NONE,
|
|
|
|
GLSLVersion::_100 => ffi::GST_GLSL_VERSION_100,
|
|
|
|
GLSLVersion::_110 => ffi::GST_GLSL_VERSION_110,
|
|
|
|
GLSLVersion::_120 => ffi::GST_GLSL_VERSION_120,
|
|
|
|
GLSLVersion::_130 => ffi::GST_GLSL_VERSION_130,
|
|
|
|
GLSLVersion::_140 => ffi::GST_GLSL_VERSION_140,
|
|
|
|
GLSLVersion::_150 => ffi::GST_GLSL_VERSION_150,
|
|
|
|
GLSLVersion::_300 => ffi::GST_GLSL_VERSION_300,
|
|
|
|
GLSLVersion::_310 => ffi::GST_GLSL_VERSION_310,
|
|
|
|
GLSLVersion::_320 => ffi::GST_GLSL_VERSION_320,
|
|
|
|
GLSLVersion::_330 => ffi::GST_GLSL_VERSION_330,
|
|
|
|
GLSLVersion::_400 => ffi::GST_GLSL_VERSION_400,
|
|
|
|
GLSLVersion::_410 => ffi::GST_GLSL_VERSION_410,
|
|
|
|
GLSLVersion::_420 => ffi::GST_GLSL_VERSION_420,
|
|
|
|
GLSLVersion::_430 => ffi::GST_GLSL_VERSION_430,
|
|
|
|
GLSLVersion::_440 => ffi::GST_GLSL_VERSION_440,
|
|
|
|
GLSLVersion::_450 => ffi::GST_GLSL_VERSION_450,
|
2019-06-18 10:12:00 +00:00
|
|
|
GLSLVersion::__Unknown(value) => value,
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-22 10:20:20 +00:00
|
|
|
impl FromGlib<ffi::GstGLSLVersion> for GLSLVersion {
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstGLSLVersion) -> Self {
|
2018-11-27 21:52:42 +00:00
|
|
|
skip_assert_initialized!();
|
|
|
|
match value {
|
|
|
|
0 => GLSLVersion::None,
|
|
|
|
100 => GLSLVersion::_100,
|
|
|
|
110 => GLSLVersion::_110,
|
|
|
|
120 => GLSLVersion::_120,
|
|
|
|
130 => GLSLVersion::_130,
|
|
|
|
140 => GLSLVersion::_140,
|
|
|
|
150 => GLSLVersion::_150,
|
|
|
|
300 => GLSLVersion::_300,
|
|
|
|
310 => GLSLVersion::_310,
|
|
|
|
320 => GLSLVersion::_320,
|
|
|
|
330 => GLSLVersion::_330,
|
|
|
|
400 => GLSLVersion::_400,
|
|
|
|
410 => GLSLVersion::_410,
|
|
|
|
420 => GLSLVersion::_420,
|
|
|
|
430 => GLSLVersion::_430,
|
|
|
|
440 => GLSLVersion::_440,
|
|
|
|
450 => GLSLVersion::_450,
|
|
|
|
value => GLSLVersion::__Unknown(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-23 14:32:09 +00:00
|
|
|
impl StaticType for GLSLVersion {
|
|
|
|
fn static_type() -> Type {
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_glsl_version_get_type()) }
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValueOptional<'a> for GLSLVersion {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
|
2019-04-23 14:32:09 +00:00
|
|
|
Some(FromValue::from_value(value))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValue<'a> for GLSLVersion {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value(value: &glib::Value) -> Self {
|
2020-11-22 10:20:20 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SetValue for GLSLVersion {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
|
2020-11-22 10:20:20 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-18 10:12:00 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
2020-04-12 15:55:06 +00:00
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstGLStereoDownmix")]
|
2018-11-27 21:52:42 +00:00
|
|
|
pub enum GLStereoDownmix {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS")]
|
2018-11-27 21:52:42 +00:00
|
|
|
GreenMagentaDubois,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_STEREO_DOWNMIX_ANAGLYPH_RED_CYAN_DUBOIS")]
|
2018-11-27 21:52:42 +00:00
|
|
|
RedCyanDubois,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_STEREO_DOWNMIX_ANAGLYPH_AMBER_BLUE_DUBOIS")]
|
2018-11-27 21:52:42 +00:00
|
|
|
AmberBlueDubois,
|
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
|
|
|
impl ToGlib for GLStereoDownmix {
|
2020-11-22 10:20:20 +00:00
|
|
|
type GlibType = ffi::GstGLStereoDownmix;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
fn to_glib(&self) -> ffi::GstGLStereoDownmix {
|
2018-11-27 21:52:42 +00:00
|
|
|
match *self {
|
2019-06-18 10:12:00 +00:00
|
|
|
GLStereoDownmix::GreenMagentaDubois => {
|
2020-11-22 10:20:20 +00:00
|
|
|
ffi::GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS
|
2019-06-18 10:12:00 +00:00
|
|
|
}
|
2020-11-22 10:20:20 +00:00
|
|
|
GLStereoDownmix::RedCyanDubois => ffi::GST_GL_STEREO_DOWNMIX_ANAGLYPH_RED_CYAN_DUBOIS,
|
2019-06-18 10:12:00 +00:00
|
|
|
GLStereoDownmix::AmberBlueDubois => {
|
2020-11-22 10:20:20 +00:00
|
|
|
ffi::GST_GL_STEREO_DOWNMIX_ANAGLYPH_AMBER_BLUE_DUBOIS
|
2019-06-18 10:12:00 +00:00
|
|
|
}
|
|
|
|
GLStereoDownmix::__Unknown(value) => value,
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-22 10:20:20 +00:00
|
|
|
impl FromGlib<ffi::GstGLStereoDownmix> for GLStereoDownmix {
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstGLStereoDownmix) -> Self {
|
2018-11-27 21:52:42 +00:00
|
|
|
skip_assert_initialized!();
|
|
|
|
match value {
|
|
|
|
0 => GLStereoDownmix::GreenMagentaDubois,
|
|
|
|
1 => GLStereoDownmix::RedCyanDubois,
|
|
|
|
2 => GLStereoDownmix::AmberBlueDubois,
|
|
|
|
value => GLStereoDownmix::__Unknown(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl StaticType for GLStereoDownmix {
|
|
|
|
fn static_type() -> Type {
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_gl_stereo_downmix_get_type()) }
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValueOptional<'a> for GLStereoDownmix {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
|
2018-11-27 21:52:42 +00:00
|
|
|
Some(FromValue::from_value(value))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValue<'a> for GLStereoDownmix {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value(value: &glib::Value) -> Self {
|
2020-11-22 10:20:20 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SetValue for GLStereoDownmix {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
|
2020-11-22 10:20:20 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-18 10:12:00 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
2020-04-12 15:55:06 +00:00
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstGLTextureTarget")]
|
2018-11-27 21:52:42 +00:00
|
|
|
pub enum GLTextureTarget {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_TEXTURE_TARGET_NONE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
None,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_TEXTURE_TARGET_2D")]
|
2018-11-27 21:52:42 +00:00
|
|
|
_2d,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_TEXTURE_TARGET_RECTANGLE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Rectangle,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_TEXTURE_TARGET_EXTERNAL_OES")]
|
2018-11-27 21:52:42 +00:00
|
|
|
ExternalOes,
|
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
2020-12-07 11:11:04 +00:00
|
|
|
impl GLTextureTarget {
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_gl_texture_target_from_gl")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn from_gl(target: u32) -> GLTextureTarget {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe { from_glib(ffi::gst_gl_texture_target_from_gl(target)) }
|
|
|
|
}
|
|
|
|
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_gl_texture_target_from_string")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn from_string(str: &str) -> GLTextureTarget {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe { from_glib(ffi::gst_gl_texture_target_from_string(str.to_glib_none().0)) }
|
|
|
|
}
|
|
|
|
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_gl_texture_target_to_buffer_pool_option")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn to_buffer_pool_option(self) -> Option<glib::GString> {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe {
|
|
|
|
from_glib_none(ffi::gst_gl_texture_target_to_buffer_pool_option(
|
|
|
|
self.to_glib(),
|
|
|
|
))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_gl_texture_target_to_gl")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn to_gl(self) -> u32 {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe { ffi::gst_gl_texture_target_to_gl(self.to_glib()) }
|
|
|
|
}
|
|
|
|
|
2020-12-08 13:00:17 +00:00
|
|
|
#[doc(alias = "gst_gl_texture_target_to_string")]
|
2020-12-07 11:11:04 +00:00
|
|
|
pub fn to_str(self) -> Option<glib::GString> {
|
|
|
|
assert_initialized_main_thread!();
|
|
|
|
unsafe { from_glib_none(ffi::gst_gl_texture_target_to_string(self.to_glib())) }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-11-27 21:52:42 +00:00
|
|
|
#[doc(hidden)]
|
|
|
|
impl ToGlib for GLTextureTarget {
|
2020-11-22 10:20:20 +00:00
|
|
|
type GlibType = ffi::GstGLTextureTarget;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
fn to_glib(&self) -> ffi::GstGLTextureTarget {
|
2018-11-27 21:52:42 +00:00
|
|
|
match *self {
|
2020-11-22 10:20:20 +00:00
|
|
|
GLTextureTarget::None => ffi::GST_GL_TEXTURE_TARGET_NONE,
|
|
|
|
GLTextureTarget::_2d => ffi::GST_GL_TEXTURE_TARGET_2D,
|
|
|
|
GLTextureTarget::Rectangle => ffi::GST_GL_TEXTURE_TARGET_RECTANGLE,
|
|
|
|
GLTextureTarget::ExternalOes => ffi::GST_GL_TEXTURE_TARGET_EXTERNAL_OES,
|
2019-06-18 10:12:00 +00:00
|
|
|
GLTextureTarget::__Unknown(value) => value,
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-22 10:20:20 +00:00
|
|
|
impl FromGlib<ffi::GstGLTextureTarget> for GLTextureTarget {
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstGLTextureTarget) -> Self {
|
2018-11-27 21:52:42 +00:00
|
|
|
skip_assert_initialized!();
|
|
|
|
match value {
|
|
|
|
0 => GLTextureTarget::None,
|
|
|
|
1 => GLTextureTarget::_2d,
|
|
|
|
2 => GLTextureTarget::Rectangle,
|
|
|
|
3 => GLTextureTarget::ExternalOes,
|
|
|
|
value => GLTextureTarget::__Unknown(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-23 14:32:09 +00:00
|
|
|
impl StaticType for GLTextureTarget {
|
|
|
|
fn static_type() -> Type {
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_gl_texture_target_get_type()) }
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValueOptional<'a> for GLTextureTarget {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
|
2019-04-23 14:32:09 +00:00
|
|
|
Some(FromValue::from_value(value))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValue<'a> for GLTextureTarget {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value(value: &glib::Value) -> Self {
|
2020-11-22 10:20:20 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SetValue for GLTextureTarget {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
|
2020-11-22 10:20:20 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-18 10:12:00 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
2020-04-12 15:55:06 +00:00
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstGLUploadReturn")]
|
2018-11-27 21:52:42 +00:00
|
|
|
pub enum GLUploadReturn {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_UPLOAD_DONE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Done,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_UPLOAD_ERROR")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Error,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_UPLOAD_UNSUPPORTED")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Unsupported,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_UPLOAD_RECONFIGURE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Reconfigure,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_UPLOAD_UNSHARED_GL_CONTEXT")]
|
2019-04-23 14:32:09 +00:00
|
|
|
UnsharedGlContext,
|
2018-11-27 21:52:42 +00:00
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
|
|
|
impl ToGlib for GLUploadReturn {
|
2020-11-22 10:20:20 +00:00
|
|
|
type GlibType = ffi::GstGLUploadReturn;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
fn to_glib(&self) -> ffi::GstGLUploadReturn {
|
2018-11-27 21:52:42 +00:00
|
|
|
match *self {
|
2020-11-22 10:20:20 +00:00
|
|
|
GLUploadReturn::Done => ffi::GST_GL_UPLOAD_DONE,
|
|
|
|
GLUploadReturn::Error => ffi::GST_GL_UPLOAD_ERROR,
|
|
|
|
GLUploadReturn::Unsupported => ffi::GST_GL_UPLOAD_UNSUPPORTED,
|
|
|
|
GLUploadReturn::Reconfigure => ffi::GST_GL_UPLOAD_RECONFIGURE,
|
|
|
|
GLUploadReturn::UnsharedGlContext => ffi::GST_GL_UPLOAD_UNSHARED_GL_CONTEXT,
|
2019-06-18 10:12:00 +00:00
|
|
|
GLUploadReturn::__Unknown(value) => value,
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-22 10:20:20 +00:00
|
|
|
impl FromGlib<ffi::GstGLUploadReturn> for GLUploadReturn {
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstGLUploadReturn) -> Self {
|
2018-11-27 21:52:42 +00:00
|
|
|
skip_assert_initialized!();
|
|
|
|
match value {
|
|
|
|
1 => GLUploadReturn::Done,
|
|
|
|
-1 => GLUploadReturn::Error,
|
|
|
|
-2 => GLUploadReturn::Unsupported,
|
|
|
|
-3 => GLUploadReturn::Reconfigure,
|
2019-04-23 14:32:09 +00:00
|
|
|
-100 => GLUploadReturn::UnsharedGlContext,
|
2018-11-27 21:52:42 +00:00
|
|
|
value => GLUploadReturn::__Unknown(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-23 14:32:09 +00:00
|
|
|
impl StaticType for GLUploadReturn {
|
|
|
|
fn static_type() -> Type {
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_gl_upload_return_get_type()) }
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValueOptional<'a> for GLUploadReturn {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
|
2019-04-23 14:32:09 +00:00
|
|
|
Some(FromValue::from_value(value))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValue<'a> for GLUploadReturn {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value(value: &glib::Value) -> Self {
|
2020-11-22 10:20:20 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SetValue for GLUploadReturn {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
|
2020-11-22 10:20:20 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-06-18 10:12:00 +00:00
|
|
|
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
|
2020-04-12 15:55:06 +00:00
|
|
|
#[non_exhaustive]
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GstGLWindowError")]
|
2018-11-27 21:52:42 +00:00
|
|
|
pub enum GLWindowError {
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_WINDOW_ERROR_FAILED")]
|
2018-11-27 21:52:42 +00:00
|
|
|
Failed,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_WINDOW_ERROR_OLD_LIBS")]
|
2018-11-27 21:52:42 +00:00
|
|
|
OldLibs,
|
2020-12-18 14:23:05 +00:00
|
|
|
#[doc(alias = "GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE")]
|
2018-11-27 21:52:42 +00:00
|
|
|
ResourceUnavailable,
|
|
|
|
#[doc(hidden)]
|
|
|
|
__Unknown(i32),
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
|
|
|
impl ToGlib for GLWindowError {
|
2020-11-22 10:20:20 +00:00
|
|
|
type GlibType = ffi::GstGLWindowError;
|
2018-11-27 21:52:42 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
fn to_glib(&self) -> ffi::GstGLWindowError {
|
2018-11-27 21:52:42 +00:00
|
|
|
match *self {
|
2020-11-22 10:20:20 +00:00
|
|
|
GLWindowError::Failed => ffi::GST_GL_WINDOW_ERROR_FAILED,
|
|
|
|
GLWindowError::OldLibs => ffi::GST_GL_WINDOW_ERROR_OLD_LIBS,
|
|
|
|
GLWindowError::ResourceUnavailable => ffi::GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
|
2019-06-18 10:12:00 +00:00
|
|
|
GLWindowError::__Unknown(value) => value,
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#[doc(hidden)]
|
2020-11-22 10:20:20 +00:00
|
|
|
impl FromGlib<ffi::GstGLWindowError> for GLWindowError {
|
2020-12-08 13:00:17 +00:00
|
|
|
unsafe fn from_glib(value: ffi::GstGLWindowError) -> Self {
|
2018-11-27 21:52:42 +00:00
|
|
|
skip_assert_initialized!();
|
|
|
|
match value {
|
|
|
|
0 => GLWindowError::Failed,
|
|
|
|
1 => GLWindowError::OldLibs,
|
|
|
|
2 => GLWindowError::ResourceUnavailable,
|
|
|
|
value => GLWindowError::__Unknown(value),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl ErrorDomain for GLWindowError {
|
|
|
|
fn domain() -> Quark {
|
|
|
|
skip_assert_initialized!();
|
2020-10-31 07:36:53 +00:00
|
|
|
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_gl_window_error_quark()) }
|
2018-11-27 21:52:42 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
fn code(self) -> i32 {
|
|
|
|
self.to_glib()
|
|
|
|
}
|
|
|
|
|
|
|
|
fn from(code: i32) -> Option<Self> {
|
|
|
|
skip_assert_initialized!();
|
|
|
|
match code {
|
|
|
|
0 => Some(GLWindowError::Failed),
|
|
|
|
1 => Some(GLWindowError::OldLibs),
|
|
|
|
2 => Some(GLWindowError::ResourceUnavailable),
|
|
|
|
_ => Some(GLWindowError::Failed),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-23 14:32:09 +00:00
|
|
|
impl StaticType for GLWindowError {
|
|
|
|
fn static_type() -> Type {
|
2020-11-22 10:20:20 +00:00
|
|
|
unsafe { from_glib(ffi::gst_gl_window_error_get_type()) }
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValueOptional<'a> for GLWindowError {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value_optional(value: &glib::Value) -> Option<Self> {
|
2019-04-23 14:32:09 +00:00
|
|
|
Some(FromValue::from_value(value))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a> FromValue<'a> for GLWindowError {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn from_value(value: &glib::Value) -> Self {
|
2020-11-22 10:20:20 +00:00
|
|
|
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
impl SetValue for GLWindowError {
|
2020-11-27 13:37:24 +00:00
|
|
|
unsafe fn set_value(value: &mut glib::Value, this: &Self) {
|
2020-11-22 10:20:20 +00:00
|
|
|
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, this.to_glib())
|
2019-04-23 14:32:09 +00:00
|
|
|
}
|
|
|
|
}
|