1// Take a look at the license at the top of the repository in the LICENSE file.
23use glib::{prelude::*, translate::*};
4use gst::prelude::*;
56use crate::{ffi, AggregatorPad};
78pub trait AggregatorPadExtManual: IsA<AggregatorPad> + 'static {
9#[doc(alias = "get_segment")]
10fn segment(&self) -> gst::Segment {
11unsafe {
12let ptr: &ffi::GstAggregatorPad = &*(self.as_ptr() as *const _);
13let _guard = self.as_ref().object_lock();
14 from_glib_none(&ptr.segment as *const gst::ffi::GstSegment)
15 }
16 }
17}
1819impl<O: IsA<AggregatorPad>> AggregatorPadExtManual for O {}