From 6a523ba96a596c66302188e46d95eed9628d7cf4 Mon Sep 17 00:00:00 2001 From: Amish Shah Date: Fri, 3 Nov 2017 20:01:51 +0000 Subject: [PATCH] Reimplement StreamDispatcher error and start event in docs, emit error instead of debug if there are listeners for errors --- src/client/voice/dispatcher/StreamDispatcher.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/client/voice/dispatcher/StreamDispatcher.js b/src/client/voice/dispatcher/StreamDispatcher.js index 0214ca1c8..8f08170a3 100644 --- a/src/client/voice/dispatcher/StreamDispatcher.js +++ b/src/client/voice/dispatcher/StreamDispatcher.js @@ -70,7 +70,11 @@ class StreamDispatcher extends Writable { if (typeof bitrate !== 'undefined') this.setBitrate(bitrate); const streamError = err => { - this.emit('warn', err); + /** + * Emitted when the dispatcher encounters an error. + * @event StreamDispatcher#error + */ + this.emit(this.listenerCount('error') > 0 ? 'error' : 'warn', err); this.destroy(); }; @@ -86,7 +90,14 @@ class StreamDispatcher extends Writable { } _write(chunk, enc, done) { - if (!this.startTime) this.startTime = Date.now(); + if (!this.startTime) { + /** + * Emitted once the stream has started to play. + * @event StreamDispatcher#start + */ + this.emit('start'); + this.startTime = Date.now(); + } this._playChunk(chunk); this._step(done); }