From b3109d643d2f1ebfaf1c5d2e431069ac38c47eae Mon Sep 17 00:00:00 2001 From: neru Date: Thu, 15 Jan 2026 13:14:30 -0300 Subject: [PATCH] fix: add extra margin to avoid audios cutting off early --- src/modules/audioStreams.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/audioStreams.ts b/src/modules/audioStreams.ts index 1533b1f..64b18c6 100644 --- a/src/modules/audioStreams.ts +++ b/src/modules/audioStreams.ts @@ -11,6 +11,8 @@ import { PassThrough, Readable } from 'stream'; import prism from 'prism-media'; +const DURATION_MARGIN_PCT = 0.25; + export class StreamQueue { private queue: Readable[] = []; private isPlaying = false; @@ -133,13 +135,13 @@ export class MixedStream { }); transcoder.on('end', () => { - const durationMs = (totalBytes / 192000) * 1000; + const durationMs = (totalBytes / 192000) * 1000 * (1 + DURATION_MARGIN_PCT); setTimeout(() => { source.unpipe(transcoder); transcoder.unpipe(mixerInput); - this.mixer.removeAudioinput(mixerInput); transcoder.destroy(); + this.mixer.removeAudioinput(mixerInput); resolve(); }, durationMs); }); @@ -151,6 +153,7 @@ export class MixedStream { }); source.pipe(transcoder).pipe(mixerInput); + }); }