From b4f89c56c67950d261d579dd865046bc3e4c37c3 Mon Sep 17 00:00:00 2001 From: Sylvain 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 */