Skip to content

Commit 5ca735b

Browse files
committed
Only use WAVE surround sound channel layouts on macOS 10.15+
1 parent cdde6dd commit 5ca735b

File tree

1 file changed

+18
-4
lines changed

1 file changed

+18
-4
lines changed

src/audio/coreaudio/SDL_coreaudio.m

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -765,12 +765,26 @@ static bool PrepareAudioQueue(SDL_AudioDevice *device)
765765
layout.mChannelLayoutTag = kAudioChannelLayoutTag_DVD_12;
766766
break;
767767
case 7:
768-
// L R C LFE Cs Ls Rs
769-
layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_6_1;
768+
if (@available(macOS 10.15, iOS 13.0, tvOS 13.0, *)) {
769+
// L R C LFE Cs Ls Rs
770+
layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_6_1;
771+
} else {
772+
// FIXME: We need to manually swizzle channels into a supported layout
773+
// L R C LFE Ls Rs Cs
774+
//layout.mChannelLayoutTag = kAudioChannelLayoutTag_MPEG_6_1_A;
775+
return SDL_SetError("Unsupported audio channels");
776+
}
770777
break;
771778
case 8:
772-
// L R C LFE Rls Rrs Ls Rs
773-
layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_7_1;
779+
if (@available(macOS 10.15, iOS 13.0, tvOS 13.0, *)) {
780+
// L R C LFE Rls Rrs Ls Rs
781+
layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_7_1;
782+
} else {
783+
// FIXME: We need to manually swizzle channels into a supported layout
784+
// L R C LFE Ls Rs Rls Rrs
785+
//layout.mChannelLayoutTag = kAudioChannelLayoutTag_MPEG_7_1_C;
786+
return SDL_SetError("Unsupported audio channels");
787+
}
774788
break;
775789
default:
776790
return SDL_SetError("Unsupported audio channels");

0 commit comments

Comments
 (0)