Trait gstreamer_video::subclass::prelude::VideoAggregatorImpl
source · pub trait VideoAggregatorImpl: VideoAggregatorImplExt + AggregatorImpl {
// 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>
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
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
to be used as outbuffer
of
the aggregate_frames
vmethod.
fn find_best_format(&self, downstream_caps: &Caps) -> Option<(VideoInfo, bool)>
Object Safety§
This trait is not object safe.