diff --git a/NEWS b/NEWS index 48ae6f8af..8056bb7ba 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,7 @@ ver 0.23.8 (not yet released) - cdio_paranoia: faster cancellation - cdio_paranoia: don't scan for replay gain tags - pipewire: fix playback of very short tracks + - pipewire: drop all buffers before manual song change - snapcast: fix busy loop while paused - snapcast: fix stuttering after resuming playback * mixer diff --git a/src/output/plugins/PipeWireOutputPlugin.cxx b/src/output/plugins/PipeWireOutputPlugin.cxx index 7184edfa5..0f8550d41 100644 --- a/src/output/plugins/PipeWireOutputPlugin.cxx +++ b/src/output/plugins/PipeWireOutputPlugin.cxx @@ -895,7 +895,12 @@ PipeWireOutput::Cancel() noexcept if (drained) return; + /* clear MPD's ring buffer */ ring_buffer->reset(); + + /* clear libpipewire's buffer */ + pw_stream_flush(stream, false); + drained = true; } bool