Skip to main content

PcmSink

Trait PcmSink 

Source
pub trait PcmSink<T: PcmSampleType>: PcmStream {
    // Required methods
    fn write(&mut self, pcm: PcmBuf<T, &[T]>) -> Result<usize, Self::Error> โ“˜;
    fn write_all(&mut self, pcm: PcmBuf<T, &[T]>) -> Result<(), Self::Error> โ“˜;

    // Provided method
    fn write_all_drain(
        &mut self,
        pcm: PcmBuf<T, &[T]>,
    ) -> Result<(), Self::Error> โ“˜
       where Self: PcmDrain { ... }
}
Available on crate feature audio only.
Expand description

๐Ÿ”Š A stream that writes interleaved PCM frames.


๐Ÿ“ media/audio/pcm


A sink consumes audio. In practice, this is the trait used for playback, output, speakers, audio devices, files, or mixers that receive PCM frames.

Required Methodsยง

Source

fn write(&mut self, pcm: PcmBuf<T, &[T]>) -> Result<usize, Self::Error> โ“˜

Writes interleaved frames. Returns the number of frames written.

Source

fn write_all(&mut self, pcm: PcmBuf<T, &[T]>) -> Result<(), Self::Error> โ“˜

Writes all requested interleaved frames.

Provided Methodsยง

Source

fn write_all_drain(&mut self, pcm: PcmBuf<T, &[T]>) -> Result<(), Self::Error> โ“˜
where Self: PcmDrain,

Writes all requested interleaved frames and drains pending playback.

Dyn Compatibilityยง

This trait is not dyn compatible.

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

Implementorsยง

Sourceยง

impl<T: PcmSampleType> PcmSink<T> for AlsaPcmHandle

Available on crate feature alsa only.