Skip to content

Commit 89fe20b

Browse files
Fix handling of integer input formats on macOS (#891)
Co-authored-by: Mikayla <[email protected]>
1 parent 49245b4 commit 89fe20b

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/host/coreaudio/mod.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
extern crate coreaudio;
22

33
use self::coreaudio::sys::{
4-
kAudioFormatFlagIsFloat, kAudioFormatFlagIsPacked, kAudioFormatLinearPCM,
5-
AudioStreamBasicDescription, OSStatus,
4+
kAudioFormatFlagIsFloat, kAudioFormatFlagIsPacked, kAudioFormatFlagIsSignedInteger,
5+
kAudioFormatLinearPCM, AudioStreamBasicDescription, OSStatus,
66
};
77

88
use crate::DefaultStreamConfigError;
@@ -52,7 +52,10 @@ fn asbd_from_config(
5252
let frames_per_packet = 1;
5353
let bytes_per_packet = frames_per_packet * bytes_per_frame;
5454
let format_flags = match sample_format {
55-
SampleFormat::F32 => kAudioFormatFlagIsFloat | kAudioFormatFlagIsPacked,
55+
SampleFormat::F32 | SampleFormat::F64 => kAudioFormatFlagIsFloat | kAudioFormatFlagIsPacked,
56+
SampleFormat::I16 | SampleFormat::I32 | SampleFormat::I64 => {
57+
kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked
58+
}
5659
_ => kAudioFormatFlagIsPacked,
5760
};
5861
AudioStreamBasicDescription {

0 commit comments

Comments
 (0)