player/Thread: drain outputs at end of song in "single" mode
Without this, the Pause() call would drop the ring buffers and would skip a considerable portion of the end of the song. Closes https://github.com/MusicPlayerDaemon/MPD/issues/824
This commit is contained in:
@@ -964,6 +964,12 @@ Player::SongBorder() noexcept
|
||||
if (border_pause) {
|
||||
paused = true;
|
||||
pc.listener.OnBorderPause();
|
||||
|
||||
/* drain all outputs to guarantee the current song is
|
||||
really being played to the end; without this, the
|
||||
Pause() call would drop all ring buffers */
|
||||
pc.outputs.Drain();
|
||||
|
||||
pc.outputs.Pause();
|
||||
idle_add(IDLE_PLAYER);
|
||||
}
|
||||
|
Reference in New Issue
Block a user