mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 03:23:29 +01:00
Made opus truly optional
This commit is contained in:
@@ -3,14 +3,22 @@
|
|||||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||||
|
|
||||||
var cpoc = require("child_process");
|
var cpoc = require("child_process");
|
||||||
var opus = require("node-opus");
|
|
||||||
|
var opus;
|
||||||
|
try {
|
||||||
|
opus = require("node-opus");
|
||||||
|
} catch (e) {
|
||||||
|
// no opus!
|
||||||
|
}
|
||||||
var VoicePacket = require("./VoicePacket.js");
|
var VoicePacket = require("./VoicePacket.js");
|
||||||
|
|
||||||
var AudioEncoder = (function () {
|
var AudioEncoder = (function () {
|
||||||
function AudioEncoder() {
|
function AudioEncoder() {
|
||||||
_classCallCheck(this, AudioEncoder);
|
_classCallCheck(this, AudioEncoder);
|
||||||
|
|
||||||
this.opus = new opus.OpusEncoder(48000, 1);
|
if (opus) {
|
||||||
|
this.opus = new opus.OpusEncoder(48000, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioEncoder.prototype.opusBuffer = function opusBuffer(buffer) {
|
AudioEncoder.prototype.opusBuffer = function opusBuffer(buffer) {
|
||||||
|
|||||||
@@ -14,9 +14,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
|
|||||||
var WebSocket = require("ws");
|
var WebSocket = require("ws");
|
||||||
var dns = require("dns");
|
var dns = require("dns");
|
||||||
var udp = require("dgram");
|
var udp = require("dgram");
|
||||||
var Opus = require('node-opus');
|
|
||||||
var fs = require("fs");
|
var fs = require("fs");
|
||||||
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");
|
||||||
@@ -29,9 +27,6 @@ var VoiceConnection = (function (_EventEmitter) {
|
|||||||
_classCallCheck(this, VoiceConnection);
|
_classCallCheck(this, VoiceConnection);
|
||||||
|
|
||||||
_EventEmitter.call(this);
|
_EventEmitter.call(this);
|
||||||
if (!Opus) {
|
|
||||||
console.log("HEY! WATCH OUT\n\n discord.js needs node-opus, you don't have it installed.");
|
|
||||||
}
|
|
||||||
this.id = channel.id;
|
this.id = channel.id;
|
||||||
this.voiceChannel = channel;
|
this.voiceChannel = channel;
|
||||||
this.client = client;
|
this.client = client;
|
||||||
@@ -42,7 +37,6 @@ var VoiceConnection = (function (_EventEmitter) {
|
|||||||
this.vWS = null; // vWS means voice websocket
|
this.vWS = null; // vWS means voice websocket
|
||||||
this.ready = false;
|
this.ready = false;
|
||||||
this.vWSData = {};
|
this.vWSData = {};
|
||||||
this.opus = new Opus.OpusEncoder(48000, 1);
|
|
||||||
this.encoder = new AudioEncoder();
|
this.encoder = new AudioEncoder();
|
||||||
this.udp = null;
|
this.udp = null;
|
||||||
this.playingIntent = null;
|
this.playingIntent = null;
|
||||||
@@ -165,7 +159,12 @@ var VoiceConnection = (function (_EventEmitter) {
|
|||||||
var self = this;
|
var self = this;
|
||||||
self.playing = true;
|
self.playing = true;
|
||||||
try {
|
try {
|
||||||
|
if (!self.encoder.opus) {
|
||||||
|
self.playing = false;
|
||||||
|
self.emit("error", "No Opus!");
|
||||||
|
self.emit("debug", "Tried to use node-opus, but opus not available - install it!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
var buffer = self.encoder.opusBuffer(rawbuffer);
|
var buffer = self.encoder.opusBuffer(rawbuffer);
|
||||||
var packet = new VoicePacket(buffer, sequence, timestamp, self.vWSData.ssrc);
|
var packet = new VoicePacket(buffer, sequence, timestamp, self.vWSData.ssrc);
|
||||||
return self.sendPacket(packet, callback);
|
return self.sendPacket(packet, callback);
|
||||||
|
|||||||
@@ -1,12 +1,20 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var cpoc = require("child_process");
|
var cpoc = require("child_process");
|
||||||
var opus = require("node-opus");
|
|
||||||
|
var opus;
|
||||||
|
try{
|
||||||
|
opus = require("node-opus");
|
||||||
|
}catch(e){
|
||||||
|
// no opus!
|
||||||
|
}
|
||||||
var VoicePacket = require("./VoicePacket.js");
|
var VoicePacket = require("./VoicePacket.js");
|
||||||
|
|
||||||
class AudioEncoder{
|
class AudioEncoder{
|
||||||
constructor(){
|
constructor(){
|
||||||
this.opus = new opus.OpusEncoder(48000, 1);
|
if(opus){
|
||||||
|
this.opus = new opus.OpusEncoder(48000, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
opusBuffer(buffer){
|
opusBuffer(buffer){
|
||||||
|
|||||||
@@ -10,9 +10,7 @@
|
|||||||
var WebSocket = require("ws");
|
var WebSocket = require("ws");
|
||||||
var dns = require("dns");
|
var dns = require("dns");
|
||||||
var udp = require("dgram");
|
var udp = require("dgram");
|
||||||
var Opus = require('node-opus');
|
|
||||||
var fs = require("fs");
|
var fs = require("fs");
|
||||||
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");
|
||||||
@@ -21,9 +19,6 @@ var EventEmitter = require("events");
|
|||||||
class VoiceConnection extends EventEmitter {
|
class VoiceConnection extends EventEmitter {
|
||||||
constructor(channel, client, session, token, server, endpoint) {
|
constructor(channel, client, session, token, server, endpoint) {
|
||||||
super();
|
super();
|
||||||
if (!Opus) {
|
|
||||||
console.log("HEY! WATCH OUT\n\n discord.js needs node-opus, you don't have it installed.");
|
|
||||||
}
|
|
||||||
this.id = channel.id;
|
this.id = channel.id;
|
||||||
this.voiceChannel = channel;
|
this.voiceChannel = channel;
|
||||||
this.client = client;
|
this.client = client;
|
||||||
@@ -34,7 +29,6 @@ class VoiceConnection extends EventEmitter {
|
|||||||
this.vWS = null; // vWS means voice websocket
|
this.vWS = null; // vWS means voice websocket
|
||||||
this.ready = false;
|
this.ready = false;
|
||||||
this.vWSData = {};
|
this.vWSData = {};
|
||||||
this.opus = new Opus.OpusEncoder(48000, 1);
|
|
||||||
this.encoder = new AudioEncoder();
|
this.encoder = new AudioEncoder();
|
||||||
this.udp = null;
|
this.udp = null;
|
||||||
this.playingIntent = null;
|
this.playingIntent = null;
|
||||||
@@ -162,7 +156,12 @@ class VoiceConnection extends EventEmitter {
|
|||||||
var self = this;
|
var self = this;
|
||||||
self.playing = true;
|
self.playing = true;
|
||||||
try {
|
try {
|
||||||
|
if(!self.encoder.opus){
|
||||||
|
self.playing=false;
|
||||||
|
self.emit("error", "No Opus!");
|
||||||
|
self.emit("debug", "Tried to use node-opus, but opus not available - install it!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
var buffer = self.encoder.opusBuffer(rawbuffer);
|
var buffer = self.encoder.opusBuffer(rawbuffer);
|
||||||
var packet = new VoicePacket(buffer, sequence, timestamp, self.vWSData.ssrc);
|
var packet = new VoicePacket(buffer, sequence, timestamp, self.vWSData.ssrc);
|
||||||
return self.sendPacket(packet, callback);
|
return self.sendPacket(packet, callback);
|
||||||
|
|||||||
Reference in New Issue
Block a user