Merge branch 'voice-rewrite' of https://github.com/hydrabolt/discord.js into voice-rewrite

This commit is contained in:
Amish Shah 2017-10-29 13:19:41 +00:00
commit 5879cd7c8e
No known key found for this signature in database
GPG key ID: 904349C1207D7967
5 changed files with 17 additions and 12 deletions

View file

@ -41,7 +41,7 @@ class VoiceBroadcast extends EventEmitter {
* .catch(console.error);
*/
playFile(file, options) {
return this.player.playUnknownStream(`file:${file}`, options);
return this.player.playUnknown(file, options);
}
/**
@ -51,7 +51,7 @@ class VoiceBroadcast extends EventEmitter {
* @returns {StreamDispatcher}
*/
playArbitraryInput(input, options) {
return this.player.playUnknownStream(input, options);
return this.player.playUnknown(input, options);
}
/**
@ -71,7 +71,7 @@ class VoiceBroadcast extends EventEmitter {
* .catch(console.error);
*/
playStream(stream, options) {
return this.player.playUnknownStream(stream, options);
return this.player.playUnknown(stream, options);
}
/**

View file

@ -457,7 +457,7 @@ class VoiceConnection extends EventEmitter {
* .catch(console.error);
*/
playFile(file, options) {
return this.player.playUnknownStream(`file:${file}`, options);
return this.player.playUnknown(file, options);
}
/**
@ -467,7 +467,7 @@ class VoiceConnection extends EventEmitter {
* @returns {StreamDispatcher}
*/
playArbitraryInput(input, options) {
return this.player.playUnknownStream(input, options);
return this.player.playUnknown(input, options);
}
/**
@ -487,7 +487,7 @@ class VoiceConnection extends EventEmitter {
* .catch(console.error);
*/
playStream(stream, options) {
return this.player.playUnknownStream(stream, options);
return this.player.playUnknown(stream, options);
}
/**

View file

@ -156,7 +156,7 @@ class StreamDispatcher extends Writable {
/**
* Sets the expected packet loss percentage if using a compatible Opus stream.
* @param {number} value between 0 and 1
* @param {number} value between 0 and 1
* @returns {boolean} Returns true if it was successfully set.
*/
setPLP(value) {
@ -167,7 +167,7 @@ class StreamDispatcher extends Writable {
/**
* Enables or disables forward error correction if using a compatible Opus stream.
* @param {boolean} enabled true to enable
* @param {boolean} enabled true to enable
* @returns {boolean} Returns true if it was successfully set.
*/
setFEC(enabled) {

View file

@ -1,4 +1,5 @@
const EventEmitter = require('events').EventEmitter;
const { Readable: ReadableStream } = require('stream');
const prism = require('prism-media');
const StreamDispatcher = require('../dispatcher/StreamDispatcher');
@ -39,10 +40,14 @@ class BasePlayer extends EventEmitter {
}
}
playUnknownStream(stream, options) {
playUnknown(input, options) {
this.destroyDispatcher();
const ffmpeg = new prism.FFmpeg({ args: FFMPEG_ARGUMENTS });
stream.pipe(ffmpeg);
const isStream = input instanceof ReadableStream;
const args = isStream ? FFMPEG_ARGUMENTS : ['-i', input, ...FFMPEG_ARGUMENTS];
const ffmpeg = new prism.FFmpeg({ args });
if (isStream) input.pipe(ffmpeg);
return this.playPCMStream(ffmpeg, options, { ffmpeg });
}

@ -1 +1 @@
Subproject commit 697fc933de90209b81b69bd0fe87883e3c7a217d
Subproject commit 5131e88ffe0b61c2f69318e53e54a3e3edec6f1e