diff options
author | Max Kellermann <max@duempel.org> | 2009-02-02 18:02:52 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-02-02 18:22:41 +0100 |
commit | 4b7c28f98eb539a73415030fc9c914444d33b2ef (patch) | |
tree | 31dc4ec4ee42a090dfd4db18946f390f018135c6 /src/player_thread.c | |
parent | fdb80e74b7473f7357fdcc54eedd9a4f40963138 (diff) | |
download | mpd-4b7c28f98eb539a73415030fc9c914444d33b2ef.tar.gz mpd-4b7c28f98eb539a73415030fc9c914444d33b2ef.tar.xz mpd-4b7c28f98eb539a73415030fc9c914444d33b2ef.zip |
player_thread: set player error when output device fails
When the output device fails to play a chunk, set pc.error to
PLAYER_ERROR_AUDIO. This way, the playlist knows that it should not
queue the next song.
Diffstat (limited to 'src/player_thread.c')
-rw-r--r-- | src/player_thread.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/player_thread.c b/src/player_thread.c index d150c4303..622eab072 100644 --- a/src/player_thread.c +++ b/src/player_thread.c @@ -268,8 +268,11 @@ play_chunk(struct song *song, struct music_chunk *chunk, pcm_volume(chunk->data, chunk->length, format, pc.software_volume); - if (!playAudio(chunk->data, chunk->length)) + if (!playAudio(chunk->data, chunk->length)) { + pc.errored_song = dc.current_song; + pc.error = PLAYER_ERROR_AUDIO; return false; + } pc.total_play_time += sizeToTime * chunk->length; return true; |