emscriptenaudio: don't forget to finalize the audio thread

This commit is contained in:
Ryan C. Gordon
2023-07-05 15:22:56 -04:00
parent 4233c41ce2
commit fc7ed18ca1

View File

@@ -99,6 +99,10 @@ static void HandleCaptureProcess(SDL_AudioDevice *device) // this fires when th
static void EMSCRIPTENAUDIO_CloseDevice(SDL_AudioDevice *device) static void EMSCRIPTENAUDIO_CloseDevice(SDL_AudioDevice *device)
{ {
if (!device->hidden) {
return;
}
MAIN_THREAD_EM_ASM({ MAIN_THREAD_EM_ASM({
var SDL3 = Module['SDL3']; var SDL3 = Module['SDL3'];
if ($0) { if ($0) {
@@ -138,11 +142,11 @@ static void EMSCRIPTENAUDIO_CloseDevice(SDL_AudioDevice *device)
} }
}, device->iscapture); }, device->iscapture);
if (!device->hidden) { SDL_free(device->hidden->mixbuf);
SDL_free(device->hidden->mixbuf); SDL_free(device->hidden);
SDL_free(device->hidden); device->hidden = NULL;
device->hidden = NULL;
} SDL_AudioThreadFinalize(device);
} }
EM_JS_DEPS(sdlaudio, "$autoResumeAudioContext,$dynCall"); EM_JS_DEPS(sdlaudio, "$autoResumeAudioContext,$dynCall");