mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
Better broadcast stuff
This commit is contained in:
@@ -23,7 +23,7 @@ class VoiceBroadcast extends EventEmitter {
|
||||
* @type {Client}
|
||||
*/
|
||||
this.client = client;
|
||||
this.dispatchers = [];
|
||||
this.dispatchers = new Set();
|
||||
this.player = new BroadcastAudioPlayer(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,8 +29,8 @@ nonce.fill(0);
|
||||
* @extends {stream.Writable}
|
||||
*/
|
||||
class StreamDispatcher extends Writable {
|
||||
constructor(player, { seek = 0, volume = 1, passes = 1, fec, plp, bitrate = 96 } = {}, streams) {
|
||||
const streamOptions = { seek, volume, passes, fec, plp, bitrate };
|
||||
constructor(player, { seek = 0, volume = 1, passes = 1, fec, plp, bitrate = 96, highWaterMark = 4096 } = {}, streams) {
|
||||
const streamOptions = { seek, volume, passes, fec, plp, bitrate, highWaterMark };
|
||||
super(streamOptions);
|
||||
/**
|
||||
* The Audio Player that controls this dispatcher
|
||||
@@ -82,6 +82,7 @@ class StreamDispatcher extends Writable {
|
||||
_destroy(err, cb) {
|
||||
if (this.player.dispatcher === this) this.player.dispatcher = null;
|
||||
const { streams } = this;
|
||||
if (streams.broadcast) streams.broadcast.dispatchers.delete(this);
|
||||
if (streams.opus) streams.opus.unpipe(this);
|
||||
if (streams.ffmpeg) streams.ffmpeg.destroy();
|
||||
super._destroy(err, cb);
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
const prism = require('prism-media');
|
||||
const StreamDispatcher = require('../dispatcher/StreamDispatcher');
|
||||
const BasePlayer = require('./BasePlayer');
|
||||
|
||||
/**
|
||||
@@ -19,7 +17,7 @@ class AudioPlayer extends BasePlayer {
|
||||
|
||||
playBroadcast(broadcast, options) {
|
||||
const dispatcher = this.createDispatcher(options, { broadcast });
|
||||
broadcast.dispatchers.push(dispatcher);
|
||||
broadcast.dispatchers.add(dispatcher);
|
||||
return dispatcher;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user