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 */