From 59bb00cbe4afb5b0bf64757c77f4f9716efb3c64 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Wed, 25 Nov 2020 17:27:37 +0100 Subject: [PATCH] Lazily initialize fallback client So we do not need to load the huge encoders bundle if we do not even need it. --- app/index.js | 4 +++- app/worker-client.js | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/index.js b/app/index.js index 7ff151e..ebdbdee 100644 --- a/app/index.js +++ b/app/index.js @@ -457,7 +457,9 @@ class GlobalBindings { // Note: This call needs to be delayed until the user has interacted with // the page in some way (which at this point they have), see: https://goo.gl/7K7WLu let ctx = audioContext() - this.fallbackConnector.setSampleRate(ctx.sampleRate) + if (!this.webrtc) { + this.fallbackConnector.setSampleRate(ctx.sampleRate) + } if (!this._delayedMicNode) { this._micNode = ctx.createMediaStreamSource(this._micStream) this._delayNode = ctx.createDelay() diff --git a/app/worker-client.js b/app/worker-client.js index 5f52fad..fb3bbf0 100644 --- a/app/worker-client.js +++ b/app/worker-client.js @@ -12,8 +12,6 @@ import Worker from './worker' */ class WorkerBasedMumbleConnector { constructor () { - this._worker = new Worker() - this._worker.addEventListener('message', this._onMessage.bind(this)) this._reqId = 1 this._requests = {} this._clients = {} @@ -29,6 +27,10 @@ class WorkerBasedMumbleConnector { } _postMessage (msg, transfer) { + if (!this._worker) { + this._worker = new Worker() + this._worker.addEventListener('message', this._onMessage.bind(this)) + } try { this._worker.postMessage(msg, transfer) } catch (err) {