SDL: AAudio: add aaudio pause/resume function to android events loop

From b4f89c56c67950d261d579dd865046bc3e4c37c3 Mon Sep 17 00:00:00 2001
From: Sylvain <[EMAIL REDACTED]>
Date: Thu, 15 Apr 2021 21:16:10 +0200
Subject: [PATCH] AAudio: add aaudio pause/resume function to android events
 loop

---
 src/video/android/SDL_androidevents.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/video/android/SDL_androidevents.c b/src/video/android/SDL_androidevents.c
index 14cfc1b24..4124cacea 100644
--- a/src/video/android/SDL_androidevents.c
+++ b/src/video/android/SDL_androidevents.c
@@ -48,6 +48,16 @@ static void openslES_ResumeDevices(void) {}
 static void openslES_PauseDevices(void) {}
 #endif
 
+#if !SDL_AUDIO_DISABLED && SDL_AUDIO_DRIVER_AAUDIO
+extern void aaudio_ResumeDevices(void);
+extern void aaudio_PauseDevices(void);
+#else
+static void aaudio_ResumeDevices(void) {}
+static void aaudio_PauseDevices(void) {}
+#endif
+
+
+
 /* Number of 'type' events in the event queue */
 static int
 SDL_NumberOfEvents(Uint32 type)
@@ -110,6 +120,7 @@ Android_PumpEvents_Blocking(_THIS)
 
         ANDROIDAUDIO_PauseDevices();
         openslES_PauseDevices();
+        aaudio_PauseDevices();
 
         if (SDL_SemWait(Android_ResumeSem) == 0) {
 
@@ -122,6 +133,7 @@ Android_PumpEvents_Blocking(_THIS)
 
             ANDROIDAUDIO_ResumeDevices();
             openslES_ResumeDevices();
+            aaudio_ResumeDevices();
 
             /* Restore the GL Context from here, as this operation is thread dependent */
             if (!isContextExternal && !SDL_HasEvent(SDL_QUIT)) {
@@ -178,6 +190,7 @@ Android_PumpEvents_NonBlocking(_THIS)
             if (videodata->pauseAudio) {
                 ANDROIDAUDIO_PauseDevices();
                 openslES_PauseDevices();
+                aaudio_PauseDevices();
             }
 
             backup_context = 0;
@@ -196,6 +209,7 @@ Android_PumpEvents_NonBlocking(_THIS)
             if (videodata->pauseAudio) {
                 ANDROIDAUDIO_ResumeDevices();
                 openslES_ResumeDevices();
+                aaudio_ResumeDevices();
             }
 
             /* Restore the GL Context from here, as this operation is thread dependent */