Updated voice connection

This commit is contained in:
hydrabolt
2015-11-07 21:25:52 +00:00
parent ae75c49621
commit 2e43117500

View File

@@ -11,9 +11,11 @@ var ffmpeg = require('fluent-ffmpeg');
var AudioEncoder = require("./AudioEncoder.js"); var AudioEncoder = require("./AudioEncoder.js");
var VoicePacket = require("./VoicePacket.js"); var VoicePacket = require("./VoicePacket.js");
var StreamIntent = require("./StreamIntent.js"); var StreamIntent = require("./StreamIntent.js");
var EventEmitter = require("events");
class VoiceConnection { class VoiceConnection extends EventEmitter{
constructor(channel, client, session, token, server, endpoint) { constructor(channel, client, session, token, server, endpoint) {
super();
this.voiceChannel = channel; this.voiceChannel = channel;
this.client = client; this.client = client;
this.session = session; this.session = session;
@@ -56,14 +58,12 @@ class VoiceConnection {
self.playingIntent = retStream; self.playingIntent = retStream;
function send() { function send() {
if (self.playingIntent && self.playingIntent !== retStream) { if (!self.playingIntent) {
console.log("ending it!");
self.setSpeaking(false); self.setSpeaking(false);
retStream.emit("end"); retStream.emit("end");
return; return;
} }
try { try {
var buffer = stream.read(1920); var buffer = stream.read(1920);
if (!buffer) { if (!buffer) {
@@ -146,7 +146,7 @@ class VoiceConnection {
} catch (e) { } catch (e) {
self.playing = false; self.playing = false;
console.log("etype", e.stack); self.emit("error", e);
return false; return false;
} }
} }
@@ -211,7 +211,6 @@ class VoiceConnection {
} }
} }
} }
console.log("success!!!");
vWS.send(JSON.stringify(wsDiscPayload)); vWS.send(JSON.stringify(wsDiscPayload));
firstPacket = false; firstPacket = false;
} }
@@ -247,16 +246,15 @@ class VoiceConnection {
var udpPacket = new Buffer(70); var udpPacket = new Buffer(70);
udpPacket.writeUIntBE(data.d.ssrc, 0, 4); udpPacket.writeUIntBE(data.d.ssrc, 0, 4);
udpClient.send(udpPacket, 0, udpPacket.length, data.d.port, self.endpoint, err => { udpClient.send(udpPacket, 0, udpPacket.length, data.d.port, self.endpoint, err => {
console.log("err", err); if(err)
self.emit("error", err)
}); });
break; break;
case 4: case 4:
self.ready = true; self.ready = true;
self.mode = data.d.mode; self.mode = data.d.mode;
console.log("ready!!!"); self.emit("ready", self);
self.test();
break; break;
} }