Skip to content

Commit d5dc5d4

Browse files
committed
Log time when nanosleep fails when waiting for buffer_size_change_state changes
1 parent a3f1948 commit d5dc5d4

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/backend/mod.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2326,7 +2326,19 @@ fn audiounit_set_buffer_size(stm: &mut AudioUnitStream, new_size_frames: u32, si
23262326
let mut count: u32 = 0;
23272327
while !*stm.buffer_size_change_state.get_mut() && count < 30 {
23282328
count += 1;
2329-
// TODO: Log time ...
2329+
unsafe {
2330+
let req = libc::timespec {
2331+
tv_sec: 0,
2332+
tv_nsec: 100_000_000 // 0.1 sec
2333+
};
2334+
let mut rem = libc::timespec {
2335+
tv_sec: 0,
2336+
tv_nsec: 0
2337+
};
2338+
if libc::nanosleep(&req, &mut rem) < 0 {
2339+
cubeb_log!("({:p}) Warning: nanosleep call failed or interrupted. Remaining time {} nano secs", stm as *const AudioUnitStream, rem.tv_nsec);
2340+
}
2341+
}
23302342
cubeb_log!("({:p}) audiounit_set_buffer_size : wait count = {}", stm as *const AudioUnitStream, count);
23312343
}
23322344

0 commit comments

Comments
 (0)