diff options
Diffstat (limited to '')
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/player_thread.c | 6 |
2 files changed, 7 insertions, 1 deletions
@@ -43,6 +43,8 @@ ver 0.16 (20??/??/??) - httpd: bind port when output is enabled - wildcards allowed in audio_format configuration - consistently lock audio output objects +* player: + - drain audio outputs at the end of the playlist * mixers: - removed support for legacy mixer configuration - reimplemented software volume as mixer+filter plugin diff --git a/src/player_thread.c b/src/player_thread.c index 5cb73a3ee..c527c57b6 100644 --- a/src/player_thread.c +++ b/src/player_thread.c @@ -874,8 +874,12 @@ static void do_play(struct decoder_control *dc) /* check the size of the pipe again, because the decoder thread may have added something since we last checked */ - if (music_pipe_size(player.pipe) == 0) + if (music_pipe_size(player.pipe) == 0) { + /* wait for the hardware to finish + playback */ + audio_output_all_drain(); break; + } } else { /* the decoder is too busy and hasn't provided new PCM data in time: send silence (if the |