8dcaee0b5b
First real recording (2026-09-01): ffmpeg died at ~0.9s mid-session with ZERO log lines while the pump fed a corpse for 9 more seconds. Three blind spots closed: - OnStderrLine discarded everything non-progress: ffmpeg's actual words (startup config, warnings, the reason it quit) now go to AppLog prefixed 'ffmpeg:' (400-char cap so a \r-choked blob can't flood). - Unexpected exit only fired ProcessFailed when code != 0 — a CLEAN exit vanished silently. Any exit we didn't request is now logged and fired, any code. - ExitCode read raced StopAsync's Dispose (tonight's 'No process is associated' line) — guarded. - VM output resolver logs once/5s when a webcam element resolves to a null frame (preview showed the cam, recording didn't — the layer skip was invisible). FfmpegEncoderTests + FramePumpTests 21/21 against the new code, 0 warnings.