Trait gstreamer_base::prelude::AggregatorExtManual
source · pub trait AggregatorExtManual: Sealed + IsA<Aggregator> + 'static {
// Provided methods
fn allocator(&self) -> (Option<Allocator>, AllocationParams) { ... }
fn min_upstream_latency(&self) -> ClockTime { ... }
fn set_min_upstream_latency(&self, min_upstream_latency: ClockTime) { ... }
fn connect_min_upstream_latency_notify<F: Fn(&Self) + Send + Sync + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
fn update_segment<F: FormattedValueIntrinsic>(
&self,
segment: &FormattedSegment<F>,
) { ... }
fn set_position(&self, position: impl FormattedValue) { ... }
fn selected_samples(
&self,
pts: impl Into<Option<ClockTime>>,
dts: impl Into<Option<ClockTime>>,
duration: impl Into<Option<ClockTime>>,
info: Option<&StructureRef>,
) { ... }
fn connect_samples_selected<F: Fn(&Self, &Segment, Option<ClockTime>, Option<ClockTime>, Option<ClockTime>, Option<&StructureRef>) + Send + 'static>(
&self,
f: F,
) -> SignalHandlerId { ... }
fn src_pad(&self) -> &AggregatorPad { ... }
}
Provided Methods§
sourcefn allocator(&self) -> (Option<Allocator>, AllocationParams)
fn allocator(&self) -> (Option<Allocator>, AllocationParams)
Lets Aggregator
sub-classes get the memory allocator
acquired by the base class and its params
.
Unref the allocator
after use it.
§Returns
§allocator
the gst::Allocator
used
§params
the
gst::AllocationParams
of allocator
fn min_upstream_latency(&self) -> ClockTime
fn set_min_upstream_latency(&self, min_upstream_latency: ClockTime)
fn connect_min_upstream_latency_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F, ) -> SignalHandlerId
sourcefn update_segment<F: FormattedValueIntrinsic>(
&self,
segment: &FormattedSegment<F>,
)
fn update_segment<F: FormattedValueIntrinsic>( &self, segment: &FormattedSegment<F>, )
Subclasses should use this to update the segment on their source pad, instead of directly pushing new segment events downstream.
Subclasses MUST call this before selected_samples()
,
if it is used at all.
fn set_position(&self, position: impl FormattedValue)
sourcefn selected_samples(
&self,
pts: impl Into<Option<ClockTime>>,
dts: impl Into<Option<ClockTime>>,
duration: impl Into<Option<ClockTime>>,
info: Option<&StructureRef>,
)
fn selected_samples( &self, pts: impl Into<Option<ClockTime>>, dts: impl Into<Option<ClockTime>>, duration: impl Into<Option<ClockTime>>, info: Option<&StructureRef>, )
Subclasses should call this when they have prepared the buffers they will aggregate for each of their sink pads, but before using any of the properties of the pads that govern how aggregation should be performed, for example z-index for video aggregators.
If update_segment()
is used by the subclass,
it MUST be called before selected_samples()
.
This function MUST only be called from the GstAggregatorClass::aggregate()
function.
§pts
The presentation timestamp of the next output buffer
§dts
The decoding timestamp of the next output buffer
§duration
The duration of the next output buffer
§info
a gst::Structure
containing additional information