1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::{ffi, GLContext};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10 #[doc(alias = "GstGLColorConvert")]
11 pub struct GLColorConvert(Object<ffi::GstGLColorConvert, ffi::GstGLColorConvertClass>) @extends gst::Object;
12
13 match fn {
14 type_ => || ffi::gst_gl_color_convert_get_type(),
15 }
16}
17
18impl GLColorConvert {
19 #[doc(alias = "gst_gl_color_convert_new")]
20 pub fn new(context: &impl IsA<GLContext>) -> GLColorConvert {
21 skip_assert_initialized!();
22 unsafe {
23 from_glib_full(ffi::gst_gl_color_convert_new(
24 context.as_ref().to_glib_none().0,
25 ))
26 }
27 }
28
29 #[doc(alias = "gst_gl_color_convert_set_caps")]
30 pub fn set_caps(
31 &self,
32 in_caps: &gst::Caps,
33 out_caps: &gst::Caps,
34 ) -> Result<(), glib::error::BoolError> {
35 unsafe {
36 glib::result_from_gboolean!(
37 ffi::gst_gl_color_convert_set_caps(
38 self.to_glib_none().0,
39 in_caps.to_glib_none().0,
40 out_caps.to_glib_none().0
41 ),
42 "Failed to set caps"
43 )
44 }
45 }
46
47 #[cfg(feature = "v1_24")]
48 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
49 #[doc(alias = "gst_gl_color_convert_swizzle_shader_string")]
50 pub fn swizzle_shader_string(context: &impl IsA<GLContext>) -> glib::GString {
51 skip_assert_initialized!();
52 unsafe {
53 from_glib_full(ffi::gst_gl_color_convert_swizzle_shader_string(
54 context.as_ref().to_glib_none().0,
55 ))
56 }
57 }
58
59 #[doc(alias = "gst_gl_color_convert_transform_caps")]
60 pub fn transform_caps(
61 context: &impl IsA<GLContext>,
62 direction: gst::PadDirection,
63 caps: &gst::Caps,
64 filter: &gst::Caps,
65 ) -> gst::Caps {
66 skip_assert_initialized!();
67 unsafe {
68 from_glib_full(ffi::gst_gl_color_convert_transform_caps(
69 context.as_ref().to_glib_none().0,
70 direction.into_glib(),
71 caps.to_glib_none().0,
72 filter.to_glib_none().0,
73 ))
74 }
75 }
76
77 #[cfg(feature = "v1_24")]
78 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
79 #[doc(alias = "gst_gl_color_convert_yuv_to_rgb_shader_string")]
80 pub fn yuv_to_rgb_shader_string(context: &impl IsA<GLContext>) -> glib::GString {
81 skip_assert_initialized!();
82 unsafe {
83 from_glib_full(ffi::gst_gl_color_convert_yuv_to_rgb_shader_string(
84 context.as_ref().to_glib_none().0,
85 ))
86 }
87 }
88}
89
90unsafe impl Send for GLColorConvert {}
91unsafe impl Sync for GLColorConvert {}
92