Skip to main content

AudioStreamDecoder

Trait AudioStreamDecoder 

Source
pub trait AudioStreamDecoder {
    type Adapter: AudioAdapter;
    type Buffer: AsRef<[u8]>;
    type Error;

    // Required methods
    fn send_packet(
        &mut self,
        packet: &AudioPacket<<Self::Adapter as AudioAdapter>::PacketExtra, Self::Buffer>,
    ) -> Result<Sent, Self::Error>;
    fn receive_frame(
        &mut self,
        dst: &mut AudioFrame<<Self::Adapter as AudioAdapter>::SampleFormat, <Self::Adapter as AudioAdapter>::ChannelLayout, <Self::Adapter as AudioAdapter>::FrameExtra, Self::Buffer>,
    ) -> Result<Received, Self::Error>;
    fn send_eof(&mut self) -> Result<Sent, Self::Error>;
    fn flush(&mut self) -> Result<(), Self::Error>;
}
Expand description

Push-style audio decoder.

Required Associated Types§

Source

type Adapter: AudioAdapter

Backend vocabulary.

Source

type Buffer: AsRef<[u8]>

Buffer type.

Source

type Error

Decoder-specific error.

Required Methods§

Source

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

Submits a compressed audio packet. See VideoStreamDecoder::send_packet — the two answers are the same on every push face here.

Source

fn receive_frame( &mut self, dst: &mut AudioFrame<<Self::Adapter as AudioAdapter>::SampleFormat, <Self::Adapter as AudioAdapter>::ChannelLayout, <Self::Adapter as AudioAdapter>::FrameExtra, Self::Buffer>, ) -> Result<Received, Self::Error>

Drains a decoded frame into dst. See VideoStreamDecoder::receive_frame — the three answers are the same on every push face here.

Source

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

Signals EOF.

Source

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

Flushes internal state.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§