pub trait SubtitleDecoder {
type Adapter: SubtitleAdapter;
type Buffer: AsRef<[u8]>;
type Error;
// Required methods
fn send_packet(
&mut self,
packet: &SubtitlePacket<<Self::Adapter as SubtitleAdapter>::PacketExtra, Self::Buffer>,
) -> Result<(), Self::Error>;
fn receive_frame(
&mut self,
dst: &mut SubtitleFrame<<Self::Adapter as SubtitleAdapter>::FrameExtra, Self::Buffer>,
) -> Result<(), Self::Error>;
fn send_eof(&mut self) -> Result<(), Self::Error>;
fn flush(&mut self) -> Result<(), Self::Error>;
}Expand description
Push-style subtitle decoder. (No pull-style subtitle decoders exist in the wild — subtitle streams are linear and small.)
Required Associated Types§
Sourcetype Adapter: SubtitleAdapter
type Adapter: SubtitleAdapter
Backend vocabulary.
Required Methods§
Sourcefn send_packet(
&mut self,
packet: &SubtitlePacket<<Self::Adapter as SubtitleAdapter>::PacketExtra, Self::Buffer>,
) -> Result<(), Self::Error>
fn send_packet( &mut self, packet: &SubtitlePacket<<Self::Adapter as SubtitleAdapter>::PacketExtra, Self::Buffer>, ) -> Result<(), Self::Error>
Submits a compressed subtitle packet.
Sourcefn receive_frame(
&mut self,
dst: &mut SubtitleFrame<<Self::Adapter as SubtitleAdapter>::FrameExtra, Self::Buffer>,
) -> Result<(), Self::Error>
fn receive_frame( &mut self, dst: &mut SubtitleFrame<<Self::Adapter as SubtitleAdapter>::FrameExtra, Self::Buffer>, ) -> Result<(), Self::Error>
Drains a decoded subtitle frame.