From 3109accf87d7a25f0893e7f4699e5f530794fb8a Mon Sep 17 00:00:00 2001 From: Amish Shah Date: Fri, 30 Dec 2016 15:25:28 +0000 Subject: [PATCH] improve broadcasting performance --- src/client/voice/VoiceBroadcast.js | 12 +++++++----- src/client/voice/dispatcher/StreamDispatcher.js | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/client/voice/VoiceBroadcast.js b/src/client/voice/VoiceBroadcast.js index aa8731bd5..644203df4 100644 --- a/src/client/voice/VoiceBroadcast.js +++ b/src/client/voice/VoiceBroadcast.js @@ -169,11 +169,13 @@ class VoiceBroadcast extends EventEmitter { buffer = this.applyVolume(buffer); for (const x of this.dispatchers.entries()) { - const [volume, container] = x; - const opusPacket = this.opusEncoder.encode(this.applyVolume(buffer, volume)); - for (const dispatcher of container.values()) { - setImmediate(() => dispatcher.process(buffer, true, opusPacket)); - } + setImmediate(() => { + const [volume, container] = x; + const opusPacket = this.opusEncoder.encode(this.applyVolume(buffer, volume)); + for (const dispatcher of container.values()) { + setImmediate(() => dispatcher.process(buffer, true, opusPacket)); + } + }); } } diff --git a/src/client/voice/dispatcher/StreamDispatcher.js b/src/client/voice/dispatcher/StreamDispatcher.js index e20d0545a..ea75a3118 100644 --- a/src/client/voice/dispatcher/StreamDispatcher.js +++ b/src/client/voice/dispatcher/StreamDispatcher.js @@ -120,6 +120,7 @@ class StreamDispatcher extends EventEmitter { } setSpeaking(value) { + if (this.speaking === value) return; this.speaking = value; /** * Emitted when the dispatcher starts/stops speaking