Commit b8b3affa authored by Fabio Arnold's avatar Fabio Arnold Committed by David Reid

webaudio: Count references to `window.miniaudio`

parent f466414f
...@@ -38758,10 +38758,13 @@ static ma_result ma_context_uninit__webaudio(ma_context* pContext) ...@@ -38758,10 +38758,13 @@ static ma_result ma_context_uninit__webaudio(ma_context* pContext)
(void)pContext; /* Unused. */ (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({ EM_ASM({
if (typeof(window.miniaudio) !== 'undefined') { 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 ...@@ -38783,7 +38786,9 @@ static ma_result ma_context_init__webaudio(ma_context* pContext, const ma_contex
} }
if (typeof(window.miniaudio) === 'undefined') { 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.devices = []; /* Device cache for mapping devices to indexes for JavaScript/C interop. */
miniaudio.track_device = function(device) { miniaudio.track_device = function(device) {
...@@ -38847,6 +38852,8 @@ static ma_result ma_context_init__webaudio(ma_context* pContext, const ma_contex ...@@ -38847,6 +38852,8 @@ static ma_result ma_context_init__webaudio(ma_context* pContext, const ma_contex
}); });
} }
window.miniaudio.referenceCount++;
return 1; return 1;
}, 0); /* Must pass in a dummy argument for C99 compatibility. */ }, 0); /* Must pass in a dummy argument for C99 compatibility. */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment