pub trait VideoAggregatorImpl: AggregatorImpl + ObjectSubclass<Type: IsA<VideoAggregator>> {
    // Provided methods
    fn update_caps(&self, caps: &Caps) -> Result<Caps, LoggableError> { ... }
    fn aggregate_frames(
        &self,
        token: &AggregateFramesToken<'_>,
        outbuf: &mut BufferRef,
    ) -> Result<FlowSuccess, FlowError> { ... }
    fn create_output_buffer(&self) -> Result<Option<Buffer>, FlowError> { ... }
    fn find_best_format(
        &self,
        downstream_caps: &Caps,
    ) -> Option<(VideoInfo, bool)> { ... }
}Provided Methods§
Sourcefn update_caps(&self, caps: &Caps) -> Result<Caps, LoggableError>
 
fn update_caps(&self, caps: &Caps) -> Result<Caps, LoggableError>
Optional.
Lets subclasses update the [gst::Caps][crate::gst::Caps] representing
the src pad caps before usage. Return None to indicate failure.
Sourcefn aggregate_frames(
    &self,
    token: &AggregateFramesToken<'_>,
    outbuf: &mut BufferRef,
) -> Result<FlowSuccess, FlowError>
 
fn aggregate_frames( &self, token: &AggregateFramesToken<'_>, outbuf: &mut BufferRef, ) -> Result<FlowSuccess, FlowError>
Lets subclasses aggregate frames that are ready. Subclasses
should iterate the GstElement.sinkpads and use the already
mapped VideoFrame from VideoAggregatorPadExtManual::prepared_frame()
or directly use the [gst::Buffer][crate::gst::Buffer] from VideoAggregatorPadExtManual::current_buffer()
if it needs to map the buffer in a special way. The result of the
aggregation should land in outbuffer.
Sourcefn create_output_buffer(&self) -> Result<Option<Buffer>, FlowError>
 
fn create_output_buffer(&self) -> Result<Option<Buffer>, FlowError>
Optional.
Lets subclasses provide a [gst::Buffer][crate::gst::Buffer] to be used as outbuffer of
the aggregate_frames vmethod.
fn find_best_format(&self, downstream_caps: &Caps) -> Option<(VideoInfo, bool)>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.