Fix ESLint and inline the voice readable stream

This commit is contained in:
Amish Shah
2018-01-19 22:41:31 +00:00
parent dd618584d0
commit 83140f11b7
3 changed files with 6 additions and 12 deletions

View File

@@ -1,7 +1,8 @@
const nonce = Buffer.alloc(24);
const Readable = require('./VoiceReadable');
const secretbox = require('../util/Secretbox');
class Readable extends require('stream').Readable { _read() {} } // eslint-disable-line no-empty-function
class PacketHandler {
constructor(receiver) {
this.receiver = receiver;
@@ -16,13 +17,13 @@ class PacketHandler {
}
parseBuffer(buffer) {
// reuse nonce
// Reuse nonce buffer
buffer.copy(nonce, 0, 0, 12);
let packet = secretbox.methods.open(buffer.slice(12), nonce, this.receiver.connection.authentication.secretKey);
if (!packet) return Error('Failed to decrypt voice packet');
packet = Buffer.from(packet);
// Strip RTP Header Extensions (one-byte only)
if (packet[0] === 0xBE && packet[1] === 0xDE && packet.length > 4) {
const headerExtensionLength = packet.readUInt16BE(2);