Files
VoiceStudio/tests
mergetestandClaude Fable 5 155cebe911 fix(dub): diagnose export failures honestly; dodge the Windows 32K argv limit (#1152)
A Windows dub export died at ffmpeg *spawn* with [WinError 206] — the
mux argv scales with tracks/segments and exceeded CreateProcess's 32,767-
char limit — but the catch-all told the user their (8-char) filename was
too long AND to check whether ffmpeg was installed.

- explain_ffmpeg_failure() maps the three real failure modes to their own
  advice: argv-too-long (names the limit + the actual size, suggests fewer
  languages per export), ffmpeg-unlaunchable (the only case that suggests
  checking the install / FFMPEG_PATH), and ffmpeg-ran-and-failed (surfaces
  ffmpeg's stderr, no install advice). All three dub_export catch sites
  (video mux, audio export, MP3 encode) now use it.
- run_ffmpeg() on Windows moves an oversized -filter_complex graph (the
  dominant argv consumer — the bed-mix/apad branches grow per track) into
  a -filter_complex_script temp file, so the spawn never hits the limit
  in the first place; the script file is removed after the run.

Regression tests: tests/test_ffmpeg_failure_diagnosis.py.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 01:45:23 +05:30
..