Commit f3008e4aabf76f3c3cf2c57d8f01990e779cf477

Ethan Lee 2022-07-20T19:08:31

audio: 3- and 5-channel formats are now supported

diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c
index 9c47d40..949d650 100644
--- a/src/audio/SDL_audio.c
+++ b/src/audio/SDL_audio.c
@@ -1240,22 +1240,12 @@ prepare_audiospec(const SDL_AudioSpec * orig, SDL_AudioSpec * prepared)
         }
     }
 
-    switch (orig->channels) {
-    case 0:{
-            const char *env = SDL_getenv("SDL_AUDIO_CHANNELS");
-            if ((!env) || ((prepared->channels = (Uint8) SDL_atoi(env)) == 0)) {
-                prepared->channels = 2; /* a reasonable default */
-                break;
-            }
+    if (orig->channels == 0) {
+        const char *env = SDL_getenv("SDL_AUDIO_CHANNELS");
+        if ((!env) || ((prepared->channels = (Uint8) SDL_atoi(env)) == 0)) {
+            prepared->channels = 2; /* a reasonable default */
         }
-    case 1:                    /* Mono */
-    case 2:                    /* Stereo */
-    case 4:                    /* Quadrophonic */
-    case 6:                    /* 5.1 surround */
-    case 7:                    /* 6.1 surround */
-    case 8:                    /* 7.1 surround */
-        break;
-    default:
+    } else if (orig->channels > 8) {
         SDL_SetError("Unsupported number of audio channels.");
         return 0;
     }