diff --git a/src/audio/aaudio/SDL_aaudio.c b/src/audio/aaudio/SDL_aaudio.c index 9be669ab75..693b5a98cd 100644 --- a/src/audio/aaudio/SDL_aaudio.c +++ b/src/audio/aaudio/SDL_aaudio.c @@ -75,8 +75,17 @@ static int aaudio_OpenDevice(_THIS, const char *devname) aaudio_result_t res; LOGI(__func__); - SDL_assert((captureDevice == NULL) || !iscapture); - SDL_assert((audioDevice == NULL) || iscapture); + if (iscapture) { + if (captureDevice) { + return SDL_SetError("An audio capture device is already opened"); + } + } + + if (!iscapture) { + if (audioDevice) { + return SDL_SetError("An audio playback device is already opened"); + } + } if (iscapture) { if (!Android_JNI_RequestPermission("android.permission.RECORD_AUDIO")) { diff --git a/src/audio/android/SDL_androidaudio.c b/src/audio/android/SDL_androidaudio.c index 33265964f9..93ba216641 100644 --- a/src/audio/android/SDL_androidaudio.c +++ b/src/audio/android/SDL_androidaudio.c @@ -40,8 +40,17 @@ static int ANDROIDAUDIO_OpenDevice(_THIS, const char *devname) SDL_AudioFormat test_format; SDL_bool iscapture = this->iscapture; - SDL_assert((captureDevice == NULL) || !iscapture); - SDL_assert((audioDevice == NULL) || iscapture); + if (iscapture) { + if (captureDevice) { + return SDL_SetError("An audio capture device is already opened"); + } + } + + if (!iscapture) { + if (audioDevice) { + return SDL_SetError("An audio playback device is already opened"); + } + } if (iscapture) { captureDevice = this;