SDL: aaudio: Fixed for older SDKs and Android releases.

https://github.com/libsdl-org/SDL/commit/ab68428a64a845fa07d8926c358cba5d61b444d2

From ab68428a64a845fa07d8926c358cba5d61b444d2 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Thu, 27 Jul 2023 12:28:53 -0400
Subject: [PATCH] aaudio: Fixed for older SDKs and Android releases.

---
 src/audio/aaudio/SDL_aaudio.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/audio/aaudio/SDL_aaudio.c b/src/audio/aaudio/SDL_aaudio.c
index 777286bf38ed..e6e0ef29a08d 100644
--- a/src/audio/aaudio/SDL_aaudio.c
+++ b/src/audio/aaudio/SDL_aaudio.c
@@ -30,6 +30,10 @@
 #include <stdbool.h>
 #include <aaudio/AAudio.h>
 
+#if __ANDROID_API__ < 31
+#define AAUDIO_FORMAT_PCM_I32 4
+#endif
+
 struct SDL_PrivateAudioData
 {
     AAudioStream *stream;
@@ -119,7 +123,7 @@ static int AAUDIO_OpenDevice(SDL_AudioDevice *device)
     const aaudio_direction_t direction = (iscapture ? AAUDIO_DIRECTION_INPUT : AAUDIO_DIRECTION_OUTPUT);
     ctx.AAudioStreamBuilder_setDirection(builder, direction);
     aaudio_format_t format;
-    if (device->spec.format == SDL_AUDIO_S32SYS) {
+    if ((device->spec.format == SDL_AUDIO_S32SYS) && (SDL_GetAndroidSDKVersion() >= 31)) {
         format = AAUDIO_FORMAT_PCM_I32;
     } else if (device->spec.format == SDL_AUDIO_F32SYS) {
         format = AAUDIO_FORMAT_PCM_FLOAT;