From 1a6ddbbe7b99b5eff4617b99399965740c38490b Mon Sep 17 00:00:00 2001 From: CallMe AsYouFeel Date: Mon, 18 Jul 2022 01:52:35 +0900 Subject: [PATCH] fix(VoiceReceiver): parsePacket correctly (#8277) --- packages/voice/src/receive/VoiceReceiver.ts | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/packages/voice/src/receive/VoiceReceiver.ts b/packages/voice/src/receive/VoiceReceiver.ts index b06e2c785..af83426cf 100644 --- a/packages/voice/src/receive/VoiceReceiver.ts +++ b/packages/voice/src/receive/VoiceReceiver.ts @@ -130,20 +130,9 @@ export class VoiceReceiver { if (!packet) return; // Strip RTP Header Extensions (one-byte only) - if (packet[0] === 0xbe && packet[1] === 0xde && packet.length > 4) { + if (packet[0] === 0xbe && packet[1] === 0xde) { const headerExtensionLength = packet.readUInt16BE(2); - let offset = 4; - for (let i = 0; i < headerExtensionLength; i++) { - const byte = packet[offset]!; - offset++; - if (byte === 0) continue; - offset += 1 + (byte >> 4); - } - // Skip over undocumented Discord byte (if present) - const byte = packet.readUInt8(offset); - if (byte === 0x00 || byte === 0x02) offset++; - - packet = packet.slice(offset); + packet = packet.subarray(4 + 4 * headerExtensionLength); } return packet;