From 3289d4adf24b6f5ebcf9d6a9532c7070e6e3b030 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Sat, 6 Jun 2026 08:19:46 -0700 Subject: [PATCH] fix(transcription): handle ffmpeg TimeoutExpired in _prepare_local_audio Follow-up to the subprocess timeout: _prepare_local_audio only caught CalledProcessError, so a timeout would raise uncaught. Return a clean error instead. --- tools/transcription_tools.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/transcription_tools.py b/tools/transcription_tools.py index 5238ec573..449425b0b 100644 --- a/tools/transcription_tools.py +++ b/tools/transcription_tools.py @@ -1188,6 +1188,9 @@ def _prepare_local_audio(file_path: str, work_dir: str) -> tuple[Optional[str], try: subprocess.run(command, check=True, capture_output=True, text=True, timeout=300) return converted_path, None + except subprocess.TimeoutExpired: + logger.error("ffmpeg conversion timed out for %s", file_path) + return None, "Audio conversion for local STT timed out" except subprocess.CalledProcessError as e: details = e.stderr.strip() or e.stdout.strip() or str(e) logger.error("ffmpeg conversion failed for %s: %s", file_path, details)