output/alsa: schedule a timer to generate silence

Without this timer, DispatchSockets() may disable the
MultiSocketMonitor and if Play() doesn't get called soon, it never
gets a chance to generate silence.  However if Play() gets called,
generating silence isn't necessary anymore...

Resulting from this misdesign (added by commit ccafe3f3cf in 0.21.3),
the silence generator didn't work reliably.
This commit is contained in:
Max Kellermann
2019-06-28 14:51:27 +02:00
parent 0c0a354753
commit 61a72a5d13
2 changed files with 40 additions and 0 deletions

1
NEWS
View File

@@ -6,6 +6,7 @@ ver 0.21.11 (not yet released)
* output
- alsa: fix busy loop while draining
- alsa: fix missing drain call
- alsa: improve xrun-avoiding silence generator
- alsa, osx: fix distortions with DSD_U32 and DoP on 32 bit CPUs
* protocol
- fix "list" with multiple "group" levels