浏览代码

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

Sylvain 4 年之前
父节点
当前提交
b4f89c56c6
共有 1 个文件被更改,包括 14 次插入0 次删除
  1. 14 0
      src/video/android/SDL_androidevents.c

+ 14 - 0
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 */