webaudio: Count references to window.miniaudio

This commit is contained in:
Fabio Arnold
2022-08-30 10:04:09 +02:00
committed by David Reid
parent f466414fd2
commit b8b3affa1b
+10 -3
View File
@@ -38758,10 +38758,13 @@ static ma_result ma_context_uninit__webaudio(ma_context* pContext)
(void)pContext; /* Unused. */
/* Remove the global miniaudio object from window. */
/* Remove the global miniaudio object from window if there are no more references to it. */
EM_ASM({
if (typeof(window.miniaudio) !== 'undefined') {
delete window.miniaudio;
window.miniaudio.referenceCount--;
if (window.miniaudio.referenceCount === 0) {
delete window.miniaudio;
}
}
});
@@ -38783,7 +38786,9 @@ static ma_result ma_context_init__webaudio(ma_context* pContext, const ma_contex
}
if (typeof(window.miniaudio) === 'undefined') {
window.miniaudio = {};
window.miniaudio = {
referenceCount: 0
};
miniaudio.devices = []; /* Device cache for mapping devices to indexes for JavaScript/C interop. */
miniaudio.track_device = function(device) {
@@ -38847,6 +38852,8 @@ static ma_result ma_context_init__webaudio(ma_context* pContext, const ma_contex
});
}
window.miniaudio.referenceCount++;
return 1;
}, 0); /* Must pass in a dummy argument for C99 compatibility. */