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.
This commit is contained in:
Teknium 2026-06-06 08:19:46 -07:00
parent 7223f22d65
commit 3289d4adf2

View file

@ -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)