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