maybe fix again

This commit is contained in:
Amish Shah
2016-10-24 17:41:37 +01:00
parent c6d0c31c84
commit 17586f0e20
2 changed files with 15 additions and 0 deletions

View File

@@ -39,6 +39,11 @@ class VoiceConnection extends EventEmitter {
this.player = new AudioPlayer(this);
this.player.on('error', e => {
this.emit('warn', e);
this.player.cleanup();
});
/**
* Object that wraps contains the `ws` and `udp` sockets of this voice connection
* @type {object}

View File

@@ -23,12 +23,18 @@ class AudioPlayer extends EventEmitter {
}
playUnknownStream(stream) {
stream.on('end', () => {
console.log(Date.now(), 'real input stream ended');
})
const conversionProcess = this.audioToPCM.createConvertStream(0);
stream.pipe(conversionProcess.process.stdin, { end: false });
return this.playPCMStream(conversionProcess.process.stdout, conversionProcess);
}
cleanup(checkStream) {
// cleanup is a lot less aggressive than v9 because it doesn't try to kill every single stream it is aware of
console.log(Date.now(), 'clean up triggered');
const filter = checkStream && this.currentDispatcher && this.currentDispatcher.stream === checkStream;
if (this.currentConverter && (checkStream ? filter : true)) {
if (this.currentConverter.process.stdin.destroy) {
@@ -42,6 +48,10 @@ class AudioPlayer extends EventEmitter {
}
playPCMStream(stream, converter) {
stream.on('end', () => {
console.log(Date.now(), 'pcm input stream ended');
})
this.cleanup();
this.currentConverter = converter;
if (this.currentDispatcher) {