From dbebfd44ffb4403a5f5965facda2b0b8a450fae6 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sun, 10 May 2026 10:37:59 +0200 Subject: [PATCH] fix(tts): Idle-Cutoff im PCM-Writer von 30s auf 120s MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug-Vermutung: lange F5-TTS-Antworten reissen ab wenn die Gamebox zwischen Saetzen >30s braucht (Modell-Wechsel, kalte GPU, ungewoehnlich schwerer Satz). Writer-Thread brach dann mit 'Idle-Cutoff' ab und ARIA verstummte mitten im Text. 120s deckt auch lange GPU-Pausen ab. Bei echtem Bridge-Crash brauchen wir trotzdem irgendwann einen Cutoff damit der Foreground-Service nicht ewig haengt. Stefan kann ADB-Logs gerade nicht ziehen (telefoniert) — bei Bug 3 (Spotify) muessen wir noch die Native-Logs sehen. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../src/main/java/com/ariacockpit/PcmStreamPlayerModule.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/android/android/app/src/main/java/com/ariacockpit/PcmStreamPlayerModule.kt b/android/android/app/src/main/java/com/ariacockpit/PcmStreamPlayerModule.kt index db189a1..16859a3 100644 --- a/android/android/app/src/main/java/com/ariacockpit/PcmStreamPlayerModule.kt +++ b/android/android/app/src/main/java/com/ariacockpit/PcmStreamPlayerModule.kt @@ -137,10 +137,12 @@ class PcmStreamPlayerModule(reactContext: ReactApplicationContext) : ReactContex Log.w(TAG, "play() sofort failed: ${e.message}") } } - // Idle-Cutoff: wenn endRequested NICHT kam aber 30s nichts mehr + // Idle-Cutoff: wenn endRequested NICHT kam aber lange nichts mehr // reinkommt, brechen wir ab (Bridge-Crash, verlorener final). + // 120s damit lange F5-TTS-Render-Pausen zwischen Saetzen (z.B. bei + // Modell-Wechsel oder kalter GPU) nicht den Stream abreissen. var idleMs = 0L - val maxIdleMs = 30_000L + val maxIdleMs = 120_000L // Zielpufferfuellung — unter diesem Wasserstand fuettern wir // Stille rein damit AudioTrack nicht underrunt waehrend die // Bridge den naechsten Satz rendert. Spotify/YouTube reagieren