From 9d18b4b5ed18609488a48c8b42acb18cc866d9b5 Mon Sep 17 00:00:00 2001
From: Sylvain <[EMAIL REDACTED]>
Date: Tue, 18 Apr 2023 21:32:15 +0200
Subject: [PATCH] Android: fix crash when AAUDIO isn't used (bug #7620)
---
src/audio/aaudio/SDL_aaudio.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/audio/aaudio/SDL_aaudio.c b/src/audio/aaudio/SDL_aaudio.c
index 9388111afffe..ee3d8752c6ec 100644
--- a/src/audio/aaudio/SDL_aaudio.c
+++ b/src/audio/aaudio/SDL_aaudio.c
@@ -321,6 +321,12 @@ AudioBootStrap aaudio_bootstrap = {
void aaudio_PauseDevices(void)
{
int i;
+
+ /* AAUDIO driver is not used */
+ if (ctx.handle == NULL) {
+ return;
+ }
+
for (i = 0; i < get_max_num_audio_dev(); i++) {
SDL_AudioDevice *this = get_audio_dev(i);
SDL_AudioDevice *audioDevice = NULL;
@@ -386,6 +392,12 @@ void aaudio_PauseDevices(void)
void aaudio_ResumeDevices(void)
{
int i;
+
+ /* AAUDIO driver is not used */
+ if (ctx.handle == NULL) {
+ return;
+ }
+
for (i = 0; i < get_max_num_audio_dev(); i++) {
SDL_AudioDevice *this = get_audio_dev(i);
SDL_AudioDevice *audioDevice = NULL;
@@ -447,6 +459,12 @@ void aaudio_ResumeDevices(void)
SDL_bool aaudio_DetectBrokenPlayState(void)
{
int i;
+
+ /* AAUDIO driver is not used */
+ if (ctx.handle == NULL) {
+ return SDL_FALSE;
+ }
+
for (i = 0; i < get_max_num_audio_dev(); i++) {
SDL_AudioDevice *this = get_audio_dev(i);
SDL_AudioDevice *audioDevice = NULL;