Skip to main content

SubtitleDecoder

Trait SubtitleDecoder 

Source
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§

Source

type Adapter: SubtitleAdapter

Backend vocabulary.

Source

type Buffer: AsRef<[u8]>

Buffer type.

Source

type Error

Decoder-specific error.

Required Methods§

Source

fn send_packet( &mut self, packet: &SubtitlePacket<<Self::Adapter as SubtitleAdapter>::PacketExtra, Self::Buffer>, ) -> Result<(), Self::Error>

Submits a compressed subtitle packet.

Source

fn receive_frame( &mut self, dst: &mut SubtitleFrame<<Self::Adapter as SubtitleAdapter>::FrameExtra, Self::Buffer>, ) -> Result<(), Self::Error>

Drains a decoded subtitle frame.

Source

fn send_eof(&mut self) -> Result<(), Self::Error>

Signals EOF.

Source

fn flush(&mut self) -> Result<(), Self::Error>

Flushes internal state.

Implementors§