Trait gstreamer_video::prelude::VideoEncoderExtManual[][src]

pub trait VideoEncoderExtManual: 'static {
    fn allocate_output_frame(
        &self,
        frame: &mut VideoCodecFrame<'_>,
        size: usize
    ) -> Result<FlowSuccess, FlowError>;
fn frame(&self, frame_number: i32) -> Option<VideoCodecFrame<'_>>;
fn frames(&self) -> Vec<VideoCodecFrame<'_>>;
fn oldest_frame(&self) -> Option<VideoCodecFrame<'_>>;
fn allocator(&self) -> (Option<Allocator>, AllocationParams);
fn finish_frame(
        &self,
        frame: Option<VideoCodecFrame<'_>>
    ) -> Result<FlowSuccess, FlowError>;
fn finish_subframe(
        &self,
        frame: &VideoCodecFrame<'_>
    ) -> Result<FlowSuccess, FlowError>;
fn latency(&self) -> (ClockTime, Option<ClockTime>);
fn set_latency(
        &self,
        min_latency: ClockTime,
        max_latency: impl Into<Option<ClockTime>>
    );
fn output_state(&self) -> Option<VideoCodecState<'static, Readable>>;
fn set_output_state(
        &self,
        caps: Caps,
        reference: Option<&VideoCodecState<'_, Readable>>
    ) -> Result<VideoCodecState<'_, InNegotiation<'_>>, FlowError>;
fn negotiate<'a>(
        &'a self,
        output_state: VideoCodecState<'a, InNegotiation<'a>>
    ) -> Result<(), FlowError>; }

Required methods

This is supported on crate feature v1_12 only.
This is supported on crate feature v1_18 only.

Implementors