rnnoise: simplify initialization

This commit is contained in:
Saúl Ibarra Corretgé
2020-06-11 15:42:55 +02:00
committed by Saúl Ibarra Corretgé
parent 6533071c4c
commit 7646618e5a
4 changed files with 7 additions and 25 deletions

View File

@@ -9,8 +9,7 @@ import RnnoiseProcessor from './RnnoiseProcessor';
export { RNNOISE_SAMPLE_LENGTH } from './RnnoiseProcessor';
export type { RnnoiseProcessor };
let rnnoiseWasmInterface;
let initializePromise;
let rnnoiseModule;
/**
* Creates a new instance of RnnoiseProcessor.
@@ -18,20 +17,9 @@ let initializePromise;
* @returns {Promise<RnnoiseProcessor>}
*/
export function createRnnoiseProcessor() {
if (!initializePromise) {
initializePromise = new Promise((resolve, reject) => {
rnnoiseWasmInterface = rnnoiseWasmInit({
onRuntimeInitialized() {
resolve();
},
onAbort(reason) {
reject(reason);
}
});
});
if (!rnnoiseModule) {
rnnoiseModule = rnnoiseWasmInit();
}
return initializePromise.then(
() => new RnnoiseProcessor(rnnoiseWasmInterface)
);
return rnnoiseModule.then(mod => new RnnoiseProcessor(mod));
}