mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 19:43:29 +01:00
Fix ECONNRESET (again)
This commit is contained in:
@@ -59,9 +59,7 @@ class StreamDispatcher extends Writable {
|
|||||||
this._pausedTime = 0;
|
this._pausedTime = 0;
|
||||||
this.count = 0;
|
this.count = 0;
|
||||||
|
|
||||||
this.on('error', err => this.destroy(err));
|
|
||||||
this.on('finish', () => {
|
this.on('finish', () => {
|
||||||
this.end.bind(this);
|
|
||||||
// Still emitting end for backwards compatibility, probably remove it in the future!
|
// Still emitting end for backwards compatibility, probably remove it in the future!
|
||||||
this.emit('end');
|
this.emit('end');
|
||||||
});
|
});
|
||||||
@@ -73,9 +71,11 @@ class StreamDispatcher extends Writable {
|
|||||||
|
|
||||||
const streamError = err => {
|
const streamError = err => {
|
||||||
this.emit('warn', err);
|
this.emit('warn', err);
|
||||||
this.destroy(err);
|
this.destroy();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
this.on('error', streamError);
|
||||||
|
if (this.streams.input) this.streams.input.on('error', streamError);
|
||||||
if (this.streams.ffmpeg) this.streams.ffmpeg.on('error', streamError);
|
if (this.streams.ffmpeg) this.streams.ffmpeg.on('error', streamError);
|
||||||
if (this.streams.opus) this.streams.opus.on('error', streamError);
|
if (this.streams.opus) this.streams.opus.on('error', streamError);
|
||||||
if (this.streams.volume) this.streams.volume.on('error', streamError);
|
if (this.streams.volume) this.streams.volume.on('error', streamError);
|
||||||
|
|||||||
@@ -46,9 +46,12 @@ class BasePlayer extends EventEmitter {
|
|||||||
const isStream = input instanceof ReadableStream;
|
const isStream = input instanceof ReadableStream;
|
||||||
const args = isStream ? FFMPEG_ARGUMENTS : ['-i', input, ...FFMPEG_ARGUMENTS];
|
const args = isStream ? FFMPEG_ARGUMENTS : ['-i', input, ...FFMPEG_ARGUMENTS];
|
||||||
const ffmpeg = new prism.FFmpeg({ args });
|
const ffmpeg = new prism.FFmpeg({ args });
|
||||||
if (isStream) input.pipe(ffmpeg);
|
const streams = { ffmpeg };
|
||||||
|
if (isStream) {
|
||||||
return this.playPCMStream(ffmpeg, options, { ffmpeg });
|
streams.input = input;
|
||||||
|
input.pipe(ffmpeg);
|
||||||
|
}
|
||||||
|
return this.playPCMStream(ffmpeg, options, streams);
|
||||||
}
|
}
|
||||||
|
|
||||||
playPCMStream(stream, options, streams = {}) {
|
playPCMStream(stream, options, streams = {}) {
|
||||||
|
|||||||
Reference in New Issue
Block a user