mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-24 09:14:04 +02:00
webaudio: Count references to window.miniaudio
This commit is contained in:
+10
-3
@@ -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
|
|||||||
}
|
}
|
||||||
|
|
||||||
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
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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. */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user