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::RTPHeaderExtensionFlags;
7 use glib::object::IsA;
8 use glib::translate::*;
9 
10 glib::wrapper! {
11     #[doc(alias = "GstRTPHeaderExtension")]
12     pub struct RTPHeaderExtension(Object<ffi::GstRTPHeaderExtension, ffi::GstRTPHeaderExtensionClass>);
13 
14     match fn {
15         type_ => || ffi::gst_rtp_header_extension_get_type(),
16     }
17 }
18 
19 impl RTPHeaderExtension {
20     #[doc(alias = "gst_rtp_header_extension_create_from_uri")]
create_from_uri(uri: &str) -> Option<RTPHeaderExtension>21     pub fn create_from_uri(uri: &str) -> Option<RTPHeaderExtension> {
22         assert_initialized_main_thread!();
23         unsafe {
24             from_glib_full(ffi::gst_rtp_header_extension_create_from_uri(
25                 uri.to_glib_none().0,
26             ))
27         }
28     }
29 }
30 
31 unsafe impl Send for RTPHeaderExtension {}
32 unsafe impl Sync for RTPHeaderExtension {}
33 
34 pub const NONE_RTP_HEADER_EXTENSION: Option<&RTPHeaderExtension> = None;
35 
36 pub trait RTPHeaderExtensionExt: 'static {
37     #[doc(alias = "gst_rtp_header_extension_get_id")]
38     #[doc(alias = "get_id")]
id(&self) -> u3239     fn id(&self) -> u32;
40 
41     #[doc(alias = "gst_rtp_header_extension_get_max_size")]
42     #[doc(alias = "get_max_size")]
max_size(&self, input_meta: &gst::Buffer) -> usize43     fn max_size(&self, input_meta: &gst::Buffer) -> usize;
44 
45     #[doc(alias = "gst_rtp_header_extension_get_sdp_caps_field_name")]
46     #[doc(alias = "get_sdp_caps_field_name")]
sdp_caps_field_name(&self) -> glib::GString47     fn sdp_caps_field_name(&self) -> glib::GString;
48 
49     #[doc(alias = "gst_rtp_header_extension_get_supported_flags")]
50     #[doc(alias = "get_supported_flags")]
supported_flags(&self) -> RTPHeaderExtensionFlags51     fn supported_flags(&self) -> RTPHeaderExtensionFlags;
52 
53     #[doc(alias = "gst_rtp_header_extension_get_uri")]
54     #[doc(alias = "get_uri")]
uri(&self) -> Option<glib::GString>55     fn uri(&self) -> Option<glib::GString>;
56 
57     #[doc(alias = "gst_rtp_header_extension_set_attributes_from_caps")]
set_attributes_from_caps(&self, caps: &gst::Caps) -> bool58     fn set_attributes_from_caps(&self, caps: &gst::Caps) -> bool;
59 
60     #[doc(alias = "gst_rtp_header_extension_set_attributes_from_caps_simple_sdp")]
set_attributes_from_caps_simple_sdp(&self, caps: &gst::Caps) -> bool61     fn set_attributes_from_caps_simple_sdp(&self, caps: &gst::Caps) -> bool;
62 
63     #[doc(alias = "gst_rtp_header_extension_set_caps_from_attributes")]
set_caps_from_attributes(&self, caps: &gst::Caps) -> bool64     fn set_caps_from_attributes(&self, caps: &gst::Caps) -> bool;
65 
66     #[doc(alias = "gst_rtp_header_extension_set_caps_from_attributes_simple_sdp")]
set_caps_from_attributes_simple_sdp(&self, caps: &gst::Caps) -> bool67     fn set_caps_from_attributes_simple_sdp(&self, caps: &gst::Caps) -> bool;
68 
69     #[doc(alias = "gst_rtp_header_extension_set_id")]
set_id(&self, ext_id: u32)70     fn set_id(&self, ext_id: u32);
71 
72     #[doc(alias = "gst_rtp_header_extension_set_non_rtp_sink_caps")]
set_non_rtp_sink_caps(&self, caps: &gst::Caps) -> bool73     fn set_non_rtp_sink_caps(&self, caps: &gst::Caps) -> bool;
74 
75     #[doc(alias = "gst_rtp_header_extension_set_wants_update_non_rtp_src_caps")]
set_wants_update_non_rtp_src_caps(&self, state: bool)76     fn set_wants_update_non_rtp_src_caps(&self, state: bool);
77 
78     #[doc(alias = "gst_rtp_header_extension_update_non_rtp_src_caps")]
update_non_rtp_src_caps(&self, caps: &gst::Caps) -> bool79     fn update_non_rtp_src_caps(&self, caps: &gst::Caps) -> bool;
80 
81     #[doc(alias = "gst_rtp_header_extension_wants_update_non_rtp_src_caps")]
wants_update_non_rtp_src_caps(&self) -> bool82     fn wants_update_non_rtp_src_caps(&self) -> bool;
83 }
84 
85 impl<O: IsA<RTPHeaderExtension>> RTPHeaderExtensionExt for O {
id(&self) -> u3286     fn id(&self) -> u32 {
87         unsafe { ffi::gst_rtp_header_extension_get_id(self.as_ref().to_glib_none().0) }
88     }
89 
max_size(&self, input_meta: &gst::Buffer) -> usize90     fn max_size(&self, input_meta: &gst::Buffer) -> usize {
91         unsafe {
92             ffi::gst_rtp_header_extension_get_max_size(
93                 self.as_ref().to_glib_none().0,
94                 input_meta.to_glib_none().0,
95             )
96         }
97     }
98 
sdp_caps_field_name(&self) -> glib::GString99     fn sdp_caps_field_name(&self) -> glib::GString {
100         unsafe {
101             from_glib_full(ffi::gst_rtp_header_extension_get_sdp_caps_field_name(
102                 self.as_ref().to_glib_none().0,
103             ))
104         }
105     }
106 
supported_flags(&self) -> RTPHeaderExtensionFlags107     fn supported_flags(&self) -> RTPHeaderExtensionFlags {
108         unsafe {
109             from_glib(ffi::gst_rtp_header_extension_get_supported_flags(
110                 self.as_ref().to_glib_none().0,
111             ))
112         }
113     }
114 
uri(&self) -> Option<glib::GString>115     fn uri(&self) -> Option<glib::GString> {
116         unsafe {
117             from_glib_none(ffi::gst_rtp_header_extension_get_uri(
118                 self.as_ref().to_glib_none().0,
119             ))
120         }
121     }
122 
set_attributes_from_caps(&self, caps: &gst::Caps) -> bool123     fn set_attributes_from_caps(&self, caps: &gst::Caps) -> bool {
124         unsafe {
125             from_glib(ffi::gst_rtp_header_extension_set_attributes_from_caps(
126                 self.as_ref().to_glib_none().0,
127                 caps.to_glib_none().0,
128             ))
129         }
130     }
131 
set_attributes_from_caps_simple_sdp(&self, caps: &gst::Caps) -> bool132     fn set_attributes_from_caps_simple_sdp(&self, caps: &gst::Caps) -> bool {
133         unsafe {
134             from_glib(
135                 ffi::gst_rtp_header_extension_set_attributes_from_caps_simple_sdp(
136                     self.as_ref().to_glib_none().0,
137                     caps.to_glib_none().0,
138                 ),
139             )
140         }
141     }
142 
set_caps_from_attributes(&self, caps: &gst::Caps) -> bool143     fn set_caps_from_attributes(&self, caps: &gst::Caps) -> bool {
144         unsafe {
145             from_glib(ffi::gst_rtp_header_extension_set_caps_from_attributes(
146                 self.as_ref().to_glib_none().0,
147                 caps.to_glib_none().0,
148             ))
149         }
150     }
151 
set_caps_from_attributes_simple_sdp(&self, caps: &gst::Caps) -> bool152     fn set_caps_from_attributes_simple_sdp(&self, caps: &gst::Caps) -> bool {
153         unsafe {
154             from_glib(
155                 ffi::gst_rtp_header_extension_set_caps_from_attributes_simple_sdp(
156                     self.as_ref().to_glib_none().0,
157                     caps.to_glib_none().0,
158                 ),
159             )
160         }
161     }
162 
set_id(&self, ext_id: u32)163     fn set_id(&self, ext_id: u32) {
164         unsafe {
165             ffi::gst_rtp_header_extension_set_id(self.as_ref().to_glib_none().0, ext_id);
166         }
167     }
168 
set_non_rtp_sink_caps(&self, caps: &gst::Caps) -> bool169     fn set_non_rtp_sink_caps(&self, caps: &gst::Caps) -> bool {
170         unsafe {
171             from_glib(ffi::gst_rtp_header_extension_set_non_rtp_sink_caps(
172                 self.as_ref().to_glib_none().0,
173                 caps.to_glib_none().0,
174             ))
175         }
176     }
177 
set_wants_update_non_rtp_src_caps(&self, state: bool)178     fn set_wants_update_non_rtp_src_caps(&self, state: bool) {
179         unsafe {
180             ffi::gst_rtp_header_extension_set_wants_update_non_rtp_src_caps(
181                 self.as_ref().to_glib_none().0,
182                 state.into_glib(),
183             );
184         }
185     }
186 
update_non_rtp_src_caps(&self, caps: &gst::Caps) -> bool187     fn update_non_rtp_src_caps(&self, caps: &gst::Caps) -> bool {
188         unsafe {
189             from_glib(ffi::gst_rtp_header_extension_update_non_rtp_src_caps(
190                 self.as_ref().to_glib_none().0,
191                 caps.to_glib_none().0,
192             ))
193         }
194     }
195 
wants_update_non_rtp_src_caps(&self) -> bool196     fn wants_update_non_rtp_src_caps(&self) -> bool {
197         unsafe {
198             from_glib(ffi::gst_rtp_header_extension_wants_update_non_rtp_src_caps(
199                 self.as_ref().to_glib_none().0,
200             ))
201         }
202     }
203 }
204