Struct alsa::pcm::IO [] [src]

pub struct IO<'a, S: Copy>(_, _);

Sample format dependent struct for reading from and writing data to a PCM. Also implements std::io::Read and std::io::Write.

Note: Only one IO object is allowed in scope at a time (for mmap safety).

Methods

impl<'a, S: Copy> IO<'a, S>
[src]

On success, returns number of frames written. (Multiply with number of channels to get number of items in buf successfully written.)

On success, returns number of frames read. (Multiply with number of channels to get number of items in buf successfully read.)

Wrapper around snd_pcm_mmap_begin and snd_pcm_mmap_commit.

You can read/write into the sound card's buffer during the call to the closure. According to alsa-lib docs, you should call avail_update before calling this function.

All calculations are in frames, i e, the closure should return number of frames processed. Also, there might not be as many frames to read/write as requested, and there can even be an empty buffer supplied to the closure.

Note: This function works only with interleaved access mode.

Trait Implementations

impl<'a, S: Copy> Drop for IO<'a, S>
[src]

A method called when the value goes out of scope. Read more

impl<'a, S: Copy> Read for IO<'a, S>
[src]

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

Read all bytes until EOF in this source, placing them into buf. Read more

Read all bytes until EOF in this source, placing them into buf. Read more

Read the exact number of bytes required to fill buf. Read more

Creates a "by reference" adaptor for this instance of Read. Read more

Transforms this Read instance to an Iterator over its bytes. Read more

🔬 This is a nightly-only experimental API. (io)

the semantics of a partial read/write of where errors happen is currently unclear and may change

Transforms this Read instance to an Iterator over chars. Read more

Creates an adaptor which will chain this stream with another. Read more

Creates an adaptor which will read at most limit bytes from it. Read more

impl<'a, S: Copy> Write for IO<'a, S>
[src]

Write a buffer into this object, returning how many bytes were written. Read more

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

Attempts to write an entire buffer into this write. Read more

Writes a formatted string into this writer, returning any error encountered. Read more

Creates a "by reference" adaptor for this instance of Write. Read more