pub trait DecoderBackend: Send {
type Session: DecoderSession;
// Required methods
fn get_capabilities(&self) -> Capability;
fn new_session(
&mut self,
format: Format
) -> Result<Self::Session, VideoError>;
// Provided method
fn into_trait_object(
self
) -> Box<dyn DecoderBackend<Session = Box<dyn DecoderSession>>>
where Self: Sized + 'static { ... }
}
Required Associated Types§
type Session: DecoderSession
Required Methods§
sourcefn get_capabilities(&self) -> Capability
fn get_capabilities(&self) -> Capability
Return the decoding capabilities for this backend instance.
sourcefn new_session(&mut self, format: Format) -> Result<Self::Session, VideoError>
fn new_session(&mut self, format: Format) -> Result<Self::Session, VideoError>
Create a new decoding session for the passed format
.
Provided Methods§
sourcefn into_trait_object(
self
) -> Box<dyn DecoderBackend<Session = Box<dyn DecoderSession>>>where
Self: Sized + 'static,
fn into_trait_object(
self
) -> Box<dyn DecoderBackend<Session = Box<dyn DecoderSession>>>where
Self: Sized + 'static,
Turn this backend into a trait object, allowing the same decoder to operate on a set of different backends.