AAudio: make sure stream is not null to prevent crash in RequestStop (see #3710)
diff --git a/src/audio/aaudio/SDL_aaudio.c b/src/audio/aaudio/SDL_aaudio.c
index f6f265e..b9cad6b 100644
--- a/src/audio/aaudio/SDL_aaudio.c
+++ b/src/audio/aaudio/SDL_aaudio.c
@@ -165,18 +165,20 @@ aaudio_CloseDevice(_THIS)
aaudio_result_t res;
LOGI(__func__);
- res = ctx.AAudioStream_requestStop(private->stream);
- if (res != AAUDIO_OK) {
- LOGI("SDL Failed AAudioStream_requestStop %d", res);
- SDL_SetError("%s : %s", __func__, ctx.AAudio_convertResultToText(res));
- return;
- }
+ if (private->stream) {
+ res = ctx.AAudioStream_requestStop(private->stream);
+ if (res != AAUDIO_OK) {
+ LOGI("SDL Failed AAudioStream_requestStop %d", res);
+ SDL_SetError("%s : %s", __func__, ctx.AAudio_convertResultToText(res));
+ return;
+ }
- res = ctx.AAudioStream_close(private->stream);
- if (res != AAUDIO_OK) {
- LOGI("SDL Failed AAudioStreamBuilder_delete %d", res);
- SDL_SetError("%s : %s", __func__, ctx.AAudio_convertResultToText(res));
- return;
+ res = ctx.AAudioStream_close(private->stream);
+ if (res != AAUDIO_OK) {
+ LOGI("SDL Failed AAudioStreamBuilder_delete %d", res);
+ SDL_SetError("%s : %s", __func__, ctx.AAudio_convertResultToText(res));
+ return;
+ }
}
if (this->iscapture) {