mirror of
https://github.com/storytold/deckcraft.git
synced 2026-10-24 10:37:03 -06:00
A cpal stream error was only kept and logged on stop, and the player kept `streaming` true, so a device that died mid-play froze the voice and video. AudioOut gains `failure()` (CpalOut reports DeviceNotAvailable), and Player::tick also treats a stream with no callbacks for a second while a voice plays as stalled. Either way the stream is stopped, voices continue on the wall clock, and the next play retries the device; after three failures the player gives up on the device and plays silently. Co-authored-by: Cursor <cursoragent@cursor.com>