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

View File

@@ -13,7 +13,6 @@ class VoiceReceiver extends EventEmitter {
createStream(user, { mode = 'opus' } = {}) { createStream(user, { mode = 'opus' } = {}) {
user = this.connection.client.users.resolve(user); user = this.connection.client.users.resolve(user);
if (!user) throw new Error('VOICE_USER_MISSING'); if (!user) throw new Error('VOICE_USER_MISSING');
console.log('making stream for', user.tag);
const stream = this.packets.makeStream(user.id); const stream = this.packets.makeStream(user.id);
if (mode === 'pcm') { if (mode === 'pcm') {
const decoder = new prism.opus.Decoder({ channels: 2, rate: 48000, frameSize: 1920 }); const decoder = new prism.opus.Decoder({ channels: 2, rate: 48000, frameSize: 1920 });
@@ -24,7 +23,7 @@ class VoiceReceiver extends EventEmitter {
} }
stoppedSpeaking() { stoppedSpeaking() {
console.log('remember to remove this :)'); return false;
} }
} }

View File

@@ -1,11 +1,5 @@
const { Readable } = require('stream'); const { Readable } = require('stream');
class VoiceReadable extends Readable { class VoiceReadable extends Readable { _read() {} } // eslint-disable-line no-empty-function
constructor() {
super();
}
_read() {} // eslint-disable-line no-empty-function
}
module.exports = VoiceReadable; module.exports = VoiceReadable;