Struct audio_streams::AsyncPlaybackBuffer
source · pub struct AsyncPlaybackBuffer<'a> {
pub(crate) buffer: AudioBuffer<'a>,
pub(crate) trigger: &'a mut dyn AsyncBufferCommit,
}
Expand description
AsyncPlaybackBuffer
is the async version of PlaybackBuffer
.
Fields§
§buffer: AudioBuffer<'a>
§trigger: &'a mut dyn AsyncBufferCommit
Implementations§
source§impl<'a> AsyncPlaybackBuffer<'a>
impl<'a> AsyncPlaybackBuffer<'a>
sourcepub fn new<F>(
frame_size: usize,
buffer: &'a mut [u8],
trigger: &'a mut F
) -> Result<Self, PlaybackBufferError>where
F: AsyncBufferCommit,
pub fn new<F>(
frame_size: usize,
buffer: &'a mut [u8],
trigger: &'a mut F
) -> Result<Self, PlaybackBufferError>where
F: AsyncBufferCommit,
Creates a new AsyncPlaybackBuffer
that holds a reference to the backing memory specified
in buffer
.
sourcepub fn frame_capacity(&self) -> usize
pub fn frame_capacity(&self) -> usize
Returns the number of audio frames that fit in the buffer.
sourcepub async fn commit(&mut self)
pub async fn commit(&mut self)
This triggers the callback of AsyncBufferCommit
. This should be called after the data is
copied to the buffer.
sourcepub fn latency_bytes(&self) -> u32
pub fn latency_bytes(&self) -> u32
It returns the latency in terms of bytes that the capture buffer was recorded.
Trait Implementations§
source§impl<'a> Write for AsyncPlaybackBuffer<'a>
impl<'a> Write for AsyncPlaybackBuffer<'a>
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for AsyncPlaybackBuffer<'a>
impl<'a> !Send for AsyncPlaybackBuffer<'a>
impl<'a> !Sync for AsyncPlaybackBuffer<'a>
impl<'a> Unpin for AsyncPlaybackBuffer<'a>
impl<'a> !UnwindSafe for AsyncPlaybackBuffer<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more