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 glib::translate::*;
7 use glib::ObjectExt;
8 use std::mem;
9 
10 glib::wrapper! {
11     #[doc(alias = "GstAdapter")]
12     pub struct Adapter(Object<ffi::GstAdapter, ffi::GstAdapterClass>);
13 
14     match fn {
15         type_ => || ffi::gst_adapter_get_type(),
16     }
17 }
18 
19 impl Adapter {
20     #[doc(alias = "gst_adapter_new")]
new() -> Adapter21     pub fn new() -> Adapter {
22         assert_initialized_main_thread!();
23         unsafe { from_glib_full(ffi::gst_adapter_new()) }
24     }
25 
26     #[doc(alias = "gst_adapter_available")]
available(&self) -> usize27     pub fn available(&self) -> usize {
28         unsafe { ffi::gst_adapter_available(self.to_glib_none().0) }
29     }
30 
31     #[doc(alias = "gst_adapter_available_fast")]
available_fast(&self) -> usize32     pub fn available_fast(&self) -> usize {
33         unsafe { ffi::gst_adapter_available_fast(self.to_glib_none().0) }
34     }
35 
36     #[doc(alias = "gst_adapter_clear")]
clear(&self)37     pub fn clear(&self) {
38         unsafe {
39             ffi::gst_adapter_clear(self.to_glib_none().0);
40         }
41     }
42 
43     #[cfg(any(feature = "v1_10", feature = "dox"))]
44     #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
45     #[doc(alias = "gst_adapter_distance_from_discont")]
distance_from_discont(&self) -> u6446     pub fn distance_from_discont(&self) -> u64 {
47         unsafe { ffi::gst_adapter_distance_from_discont(self.to_glib_none().0) }
48     }
49 
50     #[cfg(any(feature = "v1_10", feature = "dox"))]
51     #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
52     #[doc(alias = "gst_adapter_dts_at_discont")]
dts_at_discont(&self) -> Option<gst::ClockTime>53     pub fn dts_at_discont(&self) -> Option<gst::ClockTime> {
54         unsafe { from_glib(ffi::gst_adapter_dts_at_discont(self.to_glib_none().0)) }
55     }
56 
57     #[cfg(any(feature = "v1_10", feature = "dox"))]
58     #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
59     #[doc(alias = "gst_adapter_offset_at_discont")]
offset_at_discont(&self) -> u6460     pub fn offset_at_discont(&self) -> u64 {
61         unsafe { ffi::gst_adapter_offset_at_discont(self.to_glib_none().0) }
62     }
63 
64     #[doc(alias = "gst_adapter_prev_dts")]
prev_dts(&self) -> (Option<gst::ClockTime>, u64)65     pub fn prev_dts(&self) -> (Option<gst::ClockTime>, u64) {
66         unsafe {
67             let mut distance = mem::MaybeUninit::uninit();
68             let ret = from_glib(ffi::gst_adapter_prev_dts(
69                 self.to_glib_none().0,
70                 distance.as_mut_ptr(),
71             ));
72             let distance = distance.assume_init();
73             (ret, distance)
74         }
75     }
76 
77     #[doc(alias = "gst_adapter_prev_dts_at_offset")]
prev_dts_at_offset(&self, offset: usize) -> (Option<gst::ClockTime>, u64)78     pub fn prev_dts_at_offset(&self, offset: usize) -> (Option<gst::ClockTime>, u64) {
79         unsafe {
80             let mut distance = mem::MaybeUninit::uninit();
81             let ret = from_glib(ffi::gst_adapter_prev_dts_at_offset(
82                 self.to_glib_none().0,
83                 offset,
84                 distance.as_mut_ptr(),
85             ));
86             let distance = distance.assume_init();
87             (ret, distance)
88         }
89     }
90 
91     #[cfg(any(feature = "v1_10", feature = "dox"))]
92     #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
93     #[doc(alias = "gst_adapter_prev_offset")]
prev_offset(&self) -> (u64, u64)94     pub fn prev_offset(&self) -> (u64, u64) {
95         unsafe {
96             let mut distance = mem::MaybeUninit::uninit();
97             let ret = ffi::gst_adapter_prev_offset(self.to_glib_none().0, distance.as_mut_ptr());
98             let distance = distance.assume_init();
99             (ret, distance)
100         }
101     }
102 
103     #[doc(alias = "gst_adapter_prev_pts")]
prev_pts(&self) -> (Option<gst::ClockTime>, u64)104     pub fn prev_pts(&self) -> (Option<gst::ClockTime>, u64) {
105         unsafe {
106             let mut distance = mem::MaybeUninit::uninit();
107             let ret = from_glib(ffi::gst_adapter_prev_pts(
108                 self.to_glib_none().0,
109                 distance.as_mut_ptr(),
110             ));
111             let distance = distance.assume_init();
112             (ret, distance)
113         }
114     }
115 
116     #[doc(alias = "gst_adapter_prev_pts_at_offset")]
prev_pts_at_offset(&self, offset: usize) -> (Option<gst::ClockTime>, u64)117     pub fn prev_pts_at_offset(&self, offset: usize) -> (Option<gst::ClockTime>, u64) {
118         unsafe {
119             let mut distance = mem::MaybeUninit::uninit();
120             let ret = from_glib(ffi::gst_adapter_prev_pts_at_offset(
121                 self.to_glib_none().0,
122                 offset,
123                 distance.as_mut_ptr(),
124             ));
125             let distance = distance.assume_init();
126             (ret, distance)
127         }
128     }
129 
130     #[cfg(any(feature = "v1_10", feature = "dox"))]
131     #[cfg_attr(feature = "dox", doc(cfg(feature = "v1_10")))]
132     #[doc(alias = "gst_adapter_pts_at_discont")]
pts_at_discont(&self) -> Option<gst::ClockTime>133     pub fn pts_at_discont(&self) -> Option<gst::ClockTime> {
134         unsafe { from_glib(ffi::gst_adapter_pts_at_discont(self.to_glib_none().0)) }
135     }
136 }
137 
138 impl Default for Adapter {
default() -> Self139     fn default() -> Self {
140         Self::new()
141     }
142 }
143 
144 unsafe impl glib::SendUnique for Adapter {
is_unique(&self) -> bool145     fn is_unique(&self) -> bool {
146         self.ref_count() == 1
147     }
148 }
149