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§
Sourcetype Adapter: AudioAdapter
type Adapter: AudioAdapter
Backend vocabulary.
Required Methods§
Sourcefn send_packet(
&mut self,
packet: &AudioPacket<<Self::Adapter as AudioAdapter>::PacketExtra, Self::Buffer>,
) -> Result<Sent, Self::Error>
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.
Sourcefn 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 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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".