From 6327ffc09d9f42d8f75a20ca8a262bd13e629a4c Mon Sep 17 00:00:00 2001 From: mozempk Date: Wed, 6 May 2026 02:58:35 +0200 Subject: [PATCH] fix: use set_language(None) for auto-detect instead of set_detect_language(true) detect_language=true causes whisper.cpp to return 0 immediately after language detection without running the decoder (whisper.cpp source: if (params.detect_language) { return 0; } Setting language=null triggers auto-detection AND transcription. This was the root cause of 0 segments on all jobs without explicit language. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/transcriber.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/transcriber.rs b/src/transcriber.rs index 95bdc48..dab30e2 100644 --- a/src/transcriber.rs +++ b/src/transcriber.rs @@ -90,7 +90,10 @@ impl Transcriber { if let Some(lang) = language { fp.set_language(Some(lang)); } else { - fp.set_detect_language(true); + // Setting language to None (null) triggers whisper's auto-detection AND transcription. + // set_detect_language(true) is WRONG: it causes whisper to return 0 after language + // detection without transcribing (see whisper.cpp: `if (detect_language) return 0`). + fp.set_language(None); } fp.set_translate(task == "translate");