a7d408e903
FireAndForgetPlayback's cleanup task had the same 2 s done.Wait timeout as the beep cleanup. Beep is 200 ms so 2 s is generous; recording playback is 5 s so the timeout fired mid-playback, cleanup ran stream.Stop(), and the audio cut at ~2.2 s. Timeout is now recording-duration + 2 s.