pub trait NativeDecoderSession: Send {
// Required methods
fn session_info(&self) -> DecoderSessionInfo;
fn send_packet(
&mut self,
packet: &DecoderPacket,
data: &[u8],
) -> Result<DecoderPacketResult, DecoderError>;
fn receive_native_frame(
&mut self,
) -> Result<DecoderReceiveNativeFrameOutput, DecoderError>;
fn release_native_frame(
&mut self,
frame: DecoderNativeFrame,
) -> Result<(), DecoderError>;
fn flush(&mut self) -> Result<(), DecoderError>;
fn close(&mut self) -> Result<(), DecoderError>;
// Provided methods
fn receive_pcm_frame(
&mut self,
) -> Result<DecoderReceivePcmFrameOutput, DecoderError> { ... }
fn release_native_frame_with_presentation(
&mut self,
_frame: DecoderNativeFrame,
_presented: bool,
) -> Result<(), DecoderError> { ... }
}Expand description
Stateful native-frame decoder session created by a decoder plugin factory.
Required Methods§
fn session_info(&self) -> DecoderSessionInfo
fn send_packet( &mut self, packet: &DecoderPacket, data: &[u8], ) -> Result<DecoderPacketResult, DecoderError>
fn receive_native_frame( &mut self, ) -> Result<DecoderReceiveNativeFrameOutput, DecoderError>
fn release_native_frame( &mut self, frame: DecoderNativeFrame, ) -> Result<(), DecoderError>
fn flush(&mut self) -> Result<(), DecoderError>
fn close(&mut self) -> Result<(), DecoderError>
Provided Methods§
fn receive_pcm_frame( &mut self, ) -> Result<DecoderReceivePcmFrameOutput, DecoderError>
fn release_native_frame_with_presentation( &mut self, _frame: DecoderNativeFrame, _presented: bool, ) -> Result<(), DecoderError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".