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§

source

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

source

fn min_upstream_latency(&self) -> ClockTime

source

fn set_min_upstream_latency(&self, min_upstream_latency: ClockTime)

source

fn connect_min_upstream_latency_notify<F: Fn(&Self) + Send + Sync + 'static>( &self, f: F ) -> SignalHandlerId

source

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.

source

fn set_position(&self, position: impl FormattedValue)

source

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

source

fn connect_samples_selected<F: Fn(&Self, &Segment, Option<ClockTime>, Option<ClockTime>, Option<ClockTime>, Option<&StructureRef>) + Send + 'static>( &self, f: F ) -> SignalHandlerId

source

fn src_pad(&self) -> &AggregatorPad

Object Safety§

This trait is not object safe.

Implementors§