pub struct CoreAudioTiming { /* private fields */ }Expand description
Timing metadata accepted by a CoreAudio render callback.
Implementations§
Source§impl CoreAudioTiming
impl CoreAudioTiming
Sourcepub fn new(
sample_rate_hz: u32,
buffer_frames: usize,
input_latency_frames: u32,
output_latency_frames: u32,
) -> Result<Self>
pub fn new( sample_rate_hz: u32, buffer_frames: usize, input_latency_frames: u32, output_latency_frames: u32, ) -> Result<Self>
Builds timing metadata from a sample rate, buffer size, and the input and output latencies, all measured in frames.
Returns an error when the sample rate or buffer size is zero.
§Examples
use sim_lib_stream_coreaudio::CoreAudioTiming;
let timing = CoreAudioTiming::new(48_000, 128, 128, 128).unwrap();
assert_eq!(timing.sample_rate_hz(), 48_000);
assert!(CoreAudioTiming::new(0, 128, 0, 0).is_err());Sourcepub fn default_low_latency() -> Self
pub fn default_low_latency() -> Self
Returns a default low-latency timing: 48 kHz, 128-frame buffer, and 128-frame input and output latencies.
Sourcepub fn sample_rate_hz(self) -> u32
pub fn sample_rate_hz(self) -> u32
Returns the sample rate in hertz.
Sourcepub fn buffer_frames(self) -> usize
pub fn buffer_frames(self) -> usize
Returns the callback buffer size in frames.
Sourcepub fn input_latency_frames(self) -> u32
pub fn input_latency_frames(self) -> u32
Returns the input latency in frames.
Sourcepub fn output_latency_frames(self) -> u32
pub fn output_latency_frames(self) -> u32
Returns the output latency in frames.
Trait Implementations§
Source§impl Clone for CoreAudioTiming
impl Clone for CoreAudioTiming
Source§fn clone(&self) -> CoreAudioTiming
fn clone(&self) -> CoreAudioTiming
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for CoreAudioTiming
Source§impl Debug for CoreAudioTiming
impl Debug for CoreAudioTiming
impl Eq for CoreAudioTiming
Source§impl PartialEq for CoreAudioTiming
impl PartialEq for CoreAudioTiming
Source§fn eq(&self, other: &CoreAudioTiming) -> bool
fn eq(&self, other: &CoreAudioTiming) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CoreAudioTiming
Auto Trait Implementations§
impl Freeze for CoreAudioTiming
impl RefUnwindSafe for CoreAudioTiming
impl Send for CoreAudioTiming
impl Sync for CoreAudioTiming
impl Unpin for CoreAudioTiming
impl UnsafeUnpin for CoreAudioTiming
impl UnwindSafe for CoreAudioTiming
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