From 5ca735b40f1b0834a3d2029b3dea2c0d6eff6abc Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
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");