Implement Receiver debug events

This commit is contained in:
Amish Shah
2018-01-19 22:47:01 +00:00
parent 83140f11b7
commit cb161a8a40
4 changed files with 11 additions and 11 deletions

View File

@@ -415,11 +415,6 @@ class VoiceConnection extends EventEmitter {
const guild = this.channel.guild;
const user = this.client.users.get(user_id);
this.ssrcMap.set(+ssrc, user);
if (!speaking) {
for (const receiver of this.receivers) {
receiver.stoppedSpeaking(user);
}
}
/**
* Emitted whenever a user starts/stops speaking.
* @event VoiceConnection#speaking

View File

@@ -50,7 +50,10 @@ class PacketHandler {
const stream = this.streams.get(user.id);
if (!stream) return;
const opusPacket = this.parseBuffer(buffer);
if (opusPacket instanceof Error) return;
if (opusPacket instanceof Error) {
this.emit('error', opusPacket);
return;
}
stream.push(opusPacket);
}
}

View File

@@ -7,6 +7,12 @@ class VoiceReceiver extends EventEmitter {
super();
this.connection = connection;
this.packets = new PacketHandler(this);
/**
* Emitted whenever there is a warning
* @event VoiceReceiver#debug
* @param {Error|string} error The error or message to debug
*/
this.packets.on('error', err => this.emit('debug', err));
this.connection.sockets.udp.socket.on('message', buffer => this.packets.push(buffer));
}
@@ -21,10 +27,6 @@ class VoiceReceiver extends EventEmitter {
}
return stream;
}
stoppedSpeaking() {
return false;
}
}
module.exports = VoiceReceiver;

View File

@@ -131,7 +131,7 @@ class VoiceReceiver extends EventEmitter {
return stream;
}
/**
/**
* Creates a readable stream for a user that provides PCM data while the user is speaking. When the user
* stops speaking, the stream is destroyed. The stream is 32-bit signed stereo PCM at 48KHz.
* @param {UserResolvable} user The user to create the stream for