Commit 762565e9 authored by Max Kellermann's avatar Max Kellermann

output/jack: drain the ring buffers during pause

If we're not doing this, and a new song is played after pause ends, then you will hear the rest of the previous song.
parent 41a4662c
......@@ -118,6 +118,13 @@ mpd_jack_process(jack_nframes_t nframes, void *arg)
return 0;
if (jd->pause) {
/* empty the ring buffers */
const jack_nframes_t available = mpd_jack_available(jd);
for (unsigned i = 0; i < jd->audio_format.channels; ++i)
jack_ringbuffer_read_advance(jd->ringbuffer[i],
available * sample_size);
/* generate silence while MPD is paused */
for (unsigned i = 0; i < jd->audio_format.channels; ++i) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment