diff --git a/packages/peertube-runner/server/process/shared/process-live.ts b/packages/peertube-runner/server/process/shared/process-live.ts index 6edb1f1e9..fae79e485 100644 --- a/packages/peertube-runner/server/process/shared/process-live.ts +++ b/packages/peertube-runner/server/process/shared/process-live.ts @@ -248,6 +248,8 @@ export class ProcessLiveRTMPHLSTranscoding { private async sendPendingChunks (): Promise { if (this.ended) return Promise.resolve() + const promises: Promise[] = [] + for (const playlist of this.pendingChunksPerPlaylist.keys()) { for (const chunk of this.pendingChunksPerPlaylist.get(playlist)) { logger.debug(`Sending added live chunk ${chunk} update`) @@ -271,12 +273,13 @@ export class ProcessLiveRTMPHLSTranscoding { } } - this.updateWithRetry(payload) - .catch(err => logger.error({ err }, 'Cannot update with retry')) + promises.push(this.updateWithRetry(payload)) } this.pendingChunksPerPlaylist.set(playlist, []) } + + await Promise.all(promises) } private async updateWithRetry (payload: LiveRTMPHLSTranscodingUpdatePayload, currentTry = 1): Promise {