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 | |
6 | use crate::{ffi, GLContext}; |
7 | use glib::{prelude::*, translate::*}; |
8 | |
9 | glib::wrapper! { |
10 | #[doc (alias = "GstGLUpload" )] |
11 | pub struct GLUpload(Object<ffi::GstGLUpload, ffi::GstGLUploadClass>) @extends gst::Object; |
12 | |
13 | match fn { |
14 | type_ => || ffi::gst_gl_upload_get_type(), |
15 | } |
16 | } |
17 | |
18 | impl GLUpload { |
19 | #[doc (alias = "gst_gl_upload_new" )] |
20 | pub fn new(context: &impl IsA<GLContext>) -> GLUpload { |
21 | skip_assert_initialized!(); |
22 | unsafe { from_glib_full(ffi::gst_gl_upload_new(context.as_ref().to_glib_none().0)) } |
23 | } |
24 | |
25 | #[cfg (feature = "v1_24" )] |
26 | #[cfg_attr (docsrs, doc(cfg(feature = "v1_24" )))] |
27 | #[doc (alias = "gst_gl_upload_fixate_caps" )] |
28 | pub fn fixate_caps( |
29 | &self, |
30 | direction: gst::PadDirection, |
31 | caps: &gst::Caps, |
32 | othercaps: gst::Caps, |
33 | ) -> gst::Caps { |
34 | unsafe { |
35 | from_glib_full(ffi::gst_gl_upload_fixate_caps( |
36 | self.to_glib_none().0, |
37 | direction.into_glib(), |
38 | caps.to_glib_none().0, |
39 | othercaps.into_glib_ptr(), |
40 | )) |
41 | } |
42 | } |
43 | |
44 | #[doc (alias = "gst_gl_upload_get_caps" )] |
45 | #[doc (alias = "get_caps" )] |
46 | pub fn caps(&self) -> (gst::Caps, gst::Caps) { |
47 | unsafe { |
48 | let mut in_caps = std::ptr::null_mut(); |
49 | let mut out_caps = std::ptr::null_mut(); |
50 | ffi::gst_gl_upload_get_caps(self.to_glib_none().0, &mut in_caps, &mut out_caps); |
51 | (from_glib_full(in_caps), from_glib_full(out_caps)) |
52 | } |
53 | } |
54 | |
55 | #[doc (alias = "gst_gl_upload_set_caps" )] |
56 | pub fn set_caps( |
57 | &self, |
58 | in_caps: &gst::Caps, |
59 | out_caps: &gst::Caps, |
60 | ) -> Result<(), glib::error::BoolError> { |
61 | unsafe { |
62 | glib::result_from_gboolean!( |
63 | ffi::gst_gl_upload_set_caps( |
64 | self.to_glib_none().0, |
65 | in_caps.to_glib_none().0, |
66 | out_caps.to_glib_none().0 |
67 | ), |
68 | "Failed to set caps" |
69 | ) |
70 | } |
71 | } |
72 | |
73 | #[doc (alias = "gst_gl_upload_set_context" )] |
74 | pub fn set_context(&self, context: &impl IsA<GLContext>) { |
75 | unsafe { |
76 | ffi::gst_gl_upload_set_context( |
77 | self.to_glib_none().0, |
78 | context.as_ref().to_glib_none().0, |
79 | ); |
80 | } |
81 | } |
82 | |
83 | #[doc (alias = "gst_gl_upload_transform_caps" )] |
84 | pub fn transform_caps( |
85 | &self, |
86 | context: &impl IsA<GLContext>, |
87 | direction: gst::PadDirection, |
88 | caps: &gst::Caps, |
89 | filter: &gst::Caps, |
90 | ) -> gst::Caps { |
91 | unsafe { |
92 | from_glib_full(ffi::gst_gl_upload_transform_caps( |
93 | self.to_glib_none().0, |
94 | context.as_ref().to_glib_none().0, |
95 | direction.into_glib(), |
96 | caps.to_glib_none().0, |
97 | filter.to_glib_none().0, |
98 | )) |
99 | } |
100 | } |
101 | |
102 | #[doc (alias = "gst_gl_upload_get_input_template_caps" )] |
103 | #[doc (alias = "get_input_template_caps" )] |
104 | pub fn input_template_caps() -> gst::Caps { |
105 | assert_initialized_main_thread!(); |
106 | unsafe { from_glib_full(ffi::gst_gl_upload_get_input_template_caps()) } |
107 | } |
108 | } |
109 | |
110 | unsafe impl Send for GLUpload {} |
111 | unsafe impl Sync for GLUpload {} |
112 | |