pub(crate) fn wait_ffmpeg( child: &mut Child, tail: Option<JoinHandle<String>>, prog: &Progress, ) -> Result<(), String>
Wait for ffmpeg, killing it if the job is cancelled. Non-zero exit → Err(stderr tail).