Trait VideoEncoder

Source
pub trait VideoEncoder: Send {
    // Required methods
    fn new(width: u32, height: u32, quality: QualityPreset) -> Result<Self>
       where Self: Sized;
    fn process(&mut self, frame: &RawVideoFrame) -> Result<()>;
    fn drain(&mut self) -> Result<()>;
    fn reset(&mut self) -> Result<()>;
    fn drop_encoder(&mut self);
    fn get_encoder(&self) -> &Option<Video>;
    fn take_encoded_recv(&mut self) -> Option<HeapCons<EncodedVideoFrame>>;
    fn as_any(&self) -> &dyn Any;
}

Required Methods§

Source

fn new(width: u32, height: u32, quality: QualityPreset) -> Result<Self>
where Self: Sized,

Source

fn process(&mut self, frame: &RawVideoFrame) -> Result<()>

Source

fn drain(&mut self) -> Result<()>

Source

fn reset(&mut self) -> Result<()>

Source

fn drop_encoder(&mut self)

Source

fn get_encoder(&self) -> &Option<Video>

Source

fn take_encoded_recv(&mut self) -> Option<HeapCons<EncodedVideoFrame>>

Source

fn as_any(&self) -> &dyn Any

Implementors§