pub trait VideoEncoder: Send {
// Required methods
fn codec(&self) -> VideoCodec;
fn encode(
&mut self,
frame: &Rgb8Frame,
) -> Result<Vec<EncodedPacket>, VideoError>;
fn flush(&mut self) -> Result<Vec<EncodedPacket>, VideoError>;
}Expand description
Trait for video encoders that compress RGB8 frames.
Required Methods§
fn codec(&self) -> VideoCodec
Sourcefn encode(
&mut self,
frame: &Rgb8Frame,
) -> Result<Vec<EncodedPacket>, VideoError>
fn encode( &mut self, frame: &Rgb8Frame, ) -> Result<Vec<EncodedPacket>, VideoError>
Encode one RGB8 frame, returning zero or more compressed packets.
Sourcefn flush(&mut self) -> Result<Vec<EncodedPacket>, VideoError>
fn flush(&mut self) -> Result<Vec<EncodedPacket>, VideoError>
Flush remaining buffered packets.