From 2200916c9e5a6fde73efea47870405bce6595ee7 Mon Sep 17 00:00:00 2001 From: Gleb Posobin Date: Thu, 12 Dec 2024 00:02:03 -0500 Subject: [PATCH] Close audio stream when the input is empty --- packages/playht/src/api/apiCommon.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/playht/src/api/apiCommon.ts b/packages/playht/src/api/apiCommon.ts index 2020c78..d5bbbe0 100644 --- a/packages/playht/src/api/apiCommon.ts +++ b/packages/playht/src/api/apiCommon.ts @@ -291,13 +291,15 @@ async function audioStreamFromSentences( promiseStream.on('error', onError); promiseStream.on('end', () => { - setTimeout( - () => - writeAudio.on('finish', () => { - writableStream.end(); - }), - 0, - ); + setTimeout(() => { + if (writeAudio.closed) { + writableStream.end(); + return; + } + writeAudio.on('finish', () => { + writableStream.end(); + }); + }, 0); }); promiseStream.pipe(writeAudio);