Skip to content

Commit 57d90ab

Browse files
committed
fix(coreaudio): use 1 Hz tolerance for sample rate comparisons
1 parent a649513 commit 57d90ab

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/host/coreaudio/macos/device.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ fn set_sample_rate(
112112
coreaudio::Error::from_os_status(status)?;
113113

114114
// If the requested sample rate is different to the device sample rate, update the device.
115-
if sample_rate as u32 != target_sample_rate {
115+
if (sample_rate - target_sample_rate as f64).abs() >= 1.0 {
116116
// Get available sample rate ranges.
117117
property_address.mSelector = kAudioDevicePropertyAvailableNominalSampleRates;
118118
let mut data_size = 0u32;
@@ -180,7 +180,7 @@ fn set_sample_rate(
180180
loop {
181181
match receiver.recv_timeout(timeout) {
182182
Ok(reported_rate) => {
183-
if reported_rate == target_sample_rate as f64 {
183+
if (reported_rate - target_sample_rate as f64).abs() < 1.0 {
184184
break;
185185
}
186186
}

0 commit comments

Comments
 (0)