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;