gstreamer_rtp/auto/
rtp_header_extension.rs

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, RTPHeaderExtensionDirection, RTPHeaderExtensionFlags};
7use glib::{prelude::*, translate::*};
8
9glib::wrapper! {
10    #[doc(alias = "GstRTPHeaderExtension")]
11    pub struct RTPHeaderExtension(Object<ffi::GstRTPHeaderExtension, ffi::GstRTPHeaderExtensionClass>) @extends gst::Element, gst::Object;
12
13    match fn {
14        type_ => || ffi::gst_rtp_header_extension_get_type(),
15    }
16}
17
18impl RTPHeaderExtension {
19    pub const NONE: Option<&'static RTPHeaderExtension> = None;
20
21    #[doc(alias = "gst_rtp_header_extension_create_from_uri")]
22    pub fn create_from_uri(uri: &str) -> Option<RTPHeaderExtension> {
23        assert_initialized_main_thread!();
24        unsafe {
25            from_glib_full(ffi::gst_rtp_header_extension_create_from_uri(
26                uri.to_glib_none().0,
27            ))
28        }
29    }
30}
31
32unsafe impl Send for RTPHeaderExtension {}
33unsafe impl Sync for RTPHeaderExtension {}
34
35pub trait RTPHeaderExtensionExt: IsA<RTPHeaderExtension> + 'static {
36    #[doc(alias = "gst_rtp_header_extension_get_direction")]
37    #[doc(alias = "get_direction")]
38    fn direction(&self) -> RTPHeaderExtensionDirection {
39        unsafe {
40            from_glib(ffi::gst_rtp_header_extension_get_direction(
41                self.as_ref().to_glib_none().0,
42            ))
43        }
44    }
45
46    #[doc(alias = "gst_rtp_header_extension_get_id")]
47    #[doc(alias = "get_id")]
48    fn id(&self) -> u32 {
49        unsafe { ffi::gst_rtp_header_extension_get_id(self.as_ref().to_glib_none().0) }
50    }
51
52    #[doc(alias = "gst_rtp_header_extension_get_max_size")]
53    #[doc(alias = "get_max_size")]
54    fn max_size(&self, input_meta: &gst::Buffer) -> usize {
55        unsafe {
56            ffi::gst_rtp_header_extension_get_max_size(
57                self.as_ref().to_glib_none().0,
58                input_meta.to_glib_none().0,
59            )
60        }
61    }
62
63    #[doc(alias = "gst_rtp_header_extension_get_sdp_caps_field_name")]
64    #[doc(alias = "get_sdp_caps_field_name")]
65    fn sdp_caps_field_name(&self) -> glib::GString {
66        unsafe {
67            from_glib_full(ffi::gst_rtp_header_extension_get_sdp_caps_field_name(
68                self.as_ref().to_glib_none().0,
69            ))
70        }
71    }
72
73    #[doc(alias = "gst_rtp_header_extension_get_supported_flags")]
74    #[doc(alias = "get_supported_flags")]
75    fn supported_flags(&self) -> RTPHeaderExtensionFlags {
76        unsafe {
77            from_glib(ffi::gst_rtp_header_extension_get_supported_flags(
78                self.as_ref().to_glib_none().0,
79            ))
80        }
81    }
82
83    #[doc(alias = "gst_rtp_header_extension_get_uri")]
84    #[doc(alias = "get_uri")]
85    fn uri(&self) -> Option<glib::GString> {
86        unsafe {
87            from_glib_none(ffi::gst_rtp_header_extension_get_uri(
88                self.as_ref().to_glib_none().0,
89            ))
90        }
91    }
92
93    #[doc(alias = "gst_rtp_header_extension_set_attributes_from_caps")]
94    fn set_attributes_from_caps(&self, caps: &gst::Caps) -> bool {
95        unsafe {
96            from_glib(ffi::gst_rtp_header_extension_set_attributes_from_caps(
97                self.as_ref().to_glib_none().0,
98                caps.to_glib_none().0,
99            ))
100        }
101    }
102
103    #[doc(alias = "gst_rtp_header_extension_set_direction")]
104    fn set_direction(&self, direction: RTPHeaderExtensionDirection) {
105        unsafe {
106            ffi::gst_rtp_header_extension_set_direction(
107                self.as_ref().to_glib_none().0,
108                direction.into_glib(),
109            );
110        }
111    }
112
113    #[doc(alias = "gst_rtp_header_extension_set_id")]
114    fn set_id(&self, ext_id: u32) {
115        unsafe {
116            ffi::gst_rtp_header_extension_set_id(self.as_ref().to_glib_none().0, ext_id);
117        }
118    }
119
120    #[doc(alias = "gst_rtp_header_extension_set_non_rtp_sink_caps")]
121    fn set_non_rtp_sink_caps(&self, caps: &gst::Caps) -> bool {
122        unsafe {
123            from_glib(ffi::gst_rtp_header_extension_set_non_rtp_sink_caps(
124                self.as_ref().to_glib_none().0,
125                caps.to_glib_none().0,
126            ))
127        }
128    }
129
130    #[doc(alias = "gst_rtp_header_extension_set_wants_update_non_rtp_src_caps")]
131    fn set_wants_update_non_rtp_src_caps(&self, state: bool) {
132        unsafe {
133            ffi::gst_rtp_header_extension_set_wants_update_non_rtp_src_caps(
134                self.as_ref().to_glib_none().0,
135                state.into_glib(),
136            );
137        }
138    }
139
140    #[doc(alias = "gst_rtp_header_extension_wants_update_non_rtp_src_caps")]
141    fn wants_update_non_rtp_src_caps(&self) -> bool {
142        unsafe {
143            from_glib(ffi::gst_rtp_header_extension_wants_update_non_rtp_src_caps(
144                self.as_ref().to_glib_none().0,
145            ))
146        }
147    }
148}
149
150impl<O: IsA<RTPHeaderExtension>> RTPHeaderExtensionExt for O {}