From 54ff1f35bd38af338a30191007be094a3fa1d7b2 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Thu, 7 Nov 2024 19:29:51 -0800
Subject: [PATCH] Fixed audio dropouts when plenty of audio is queued on
Android
---
src/audio/aaudio/SDL_aaudio.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/audio/aaudio/SDL_aaudio.c b/src/audio/aaudio/SDL_aaudio.c
index 64d77dfaca5f2..2ce1f6cc0c5ca 100644
--- a/src/audio/aaudio/SDL_aaudio.c
+++ b/src/audio/aaudio/SDL_aaudio.c
@@ -355,8 +355,9 @@ static bool BuildAAudioStream(SDL_AudioDevice *device)
SDL_UpdatedAudioDeviceFormat(device);
- // Allocate a double buffered mixing buffer
- hidden->num_buffers = 2;
+ // Allocate a triple buffered mixing buffer
+ // Two buffers can be in the process of being filled while the third is being read
+ hidden->num_buffers = 3;
hidden->mixbuf_bytes = (hidden->num_buffers * device->buffer_size);
hidden->mixbuf = (Uint8 *)SDL_aligned_alloc(SDL_GetSIMDAlignment(), hidden->mixbuf_bytes);
if (!hidden->mixbuf) {