From 122061e804c4015287f8cb27f10f92d6399a9464 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 14 Jan 2025 10:52:04 -0800 Subject: [PATCH] Only use WAVE surround sound channel layouts on macOS 10.15+ --- src/audio/coreaudio/SDL_coreaudio.m | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/audio/coreaudio/SDL_coreaudio.m b/src/audio/coreaudio/SDL_coreaudio.m index d518d883cdf26..f18fffef02b90 100644 --- a/src/audio/coreaudio/SDL_coreaudio.m +++ b/src/audio/coreaudio/SDL_coreaudio.m @@ -765,12 +765,26 @@ static bool PrepareAudioQueue(SDL_AudioDevice *device) layout.mChannelLayoutTag = kAudioChannelLayoutTag_DVD_12; break; case 7: - // L R C LFE Cs Ls Rs - layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_6_1; + if (@available(macOS 10.15, iOS 13.0, tvOS 13.0, *)) { + // L R C LFE Cs Ls Rs + layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_6_1; + } else { + // FIXME: We need to manually swizzle channels into a supported layout + // L R C LFE Ls Rs Cs + //layout.mChannelLayoutTag = kAudioChannelLayoutTag_MPEG_6_1_A; + return SDL_SetError("Unsupported audio channels"); + } break; case 8: - // L R C LFE Rls Rrs Ls Rs - layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_7_1; + if (@available(macOS 10.15, iOS 13.0, tvOS 13.0, *)) { + // L R C LFE Rls Rrs Ls Rs + layout.mChannelLayoutTag = kAudioChannelLayoutTag_WAVE_7_1; + } else { + // FIXME: We need to manually swizzle channels into a supported layout + // L R C LFE Ls Rs Rls Rrs + //layout.mChannelLayoutTag = kAudioChannelLayoutTag_MPEG_7_1_C; + return SDL_SetError("Unsupported audio channels"); + } break; default: return SDL_SetError("Unsupported audio channels");