-
Max Kellermann authored
If our `ring_buffer` is smaller than the ALSA-PCM buffer (if the latter has more than the 4 periods we allocate), it can happen that the start threshold is crossed and ALSA switches to `SND_PCM_STATE_RUNNING`, but the `ring_buffer` is empty. In this case, MPDD will generate silence, even though the ALSA-PCM buffer has enough data. This causes stuttering (#420). This commit amends an older workaround for a similar problem (commit e08598e7) by adding a snd_pcm_avail() check, and only generate silence if there is less than one period of data in the ALSA-PCM buffer. Fixes #420
ccafe3f3
| Name |
Last commit
|
Last update |
|---|---|---|
| android | ||
| build | ||
| doc | ||
| python/build | ||
| scripts | ||
| src | ||
| systemd | ||
| test | ||
| win32 | ||
| .gitignore | ||
| .travis.yml | ||
| AUTHORS | ||
| COPYING | ||
| NEWS | ||
| README.md | ||
| meson.build | ||
| meson_options.txt | ||
| mpd.svg | ||
| valgrind.suppressions |