The current watchdog is a simple “N-seconds since play()” timer, so it can fire during legit playback (longer TTS, slower network). Convert it to a no-progress watchdog that only trips if mpv makes no progress for N seconds.
1. **`linux_voice_assistant/mpv_player.py`**
- Supports both **PulseAudio** and **ALSA** backends.
- Device strings now accept:
- Pulse: `pulse/<PA SINK NAME>` (e.g. `pulse/alsa_output.platform-soc_sound.stereo-fallback`)
- ALSA: `alsa/plughw:CARD=seeed2micvoicec,DEV=0`
- `default`: tries Pulse first, then ALSA.
- Added **fast end-of-playback detection** using **either** `eof-reached` **or** `idle-active` (fixes the “hang until watchdog” after short clips).
- Added a **watchdog** (default **8s**) to fail fast if playback never starts/finishes.
- Pulse-friendly defaults: `audio-samplerate=44100`, `audio-channels=stereo`, `keep-open=no`, `network-timeout=7`.
- mpv logging bridged to Python logging; level set by env **`LVA_MPV_MSG_LEVEL`** (default `all=warn`).