diff options
author | Max Kellermann <max@duempel.org> | 2009-03-10 18:04:09 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-03-10 18:04:09 +0100 |
commit | 92d74d4a78783f47c25dbea29bb361deee268cd4 (patch) | |
tree | d16c5b9f8c55f751d026796eb554ac04760abaae /src | |
parent | c6a43b691f88d724420961e0a8074fcb0882f593 (diff) | |
download | mpd-92d74d4a78783f47c25dbea29bb361deee268cd4.tar.gz mpd-92d74d4a78783f47c25dbea29bb361deee268cd4.tar.xz mpd-92d74d4a78783f47c25dbea29bb361deee268cd4.zip |
player_thread: finish failed seek command
When seeking into a new song, and the decoder for the new song fails
to start up, MPD forgot to send the "command_finished" signal to the
main thread.
Diffstat (limited to 'src')
-rw-r--r-- | src/player_thread.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/player_thread.c b/src/player_thread.c index bc10793a6..fc4623c3f 100644 --- a/src/player_thread.c +++ b/src/player_thread.c @@ -226,6 +226,8 @@ static bool player_seek_decoder(struct player *player) double where; bool ret; + assert(pc.next_song != NULL); + if (decoder_current_song() != pc.next_song) { player_dc_stop(player); @@ -234,8 +236,10 @@ static bool player_seek_decoder(struct player *player) dc_start_async(pc.next_song); ret = player_wait_for_decoder(player); - if (!ret) + if (!ret) { + player_command_finished(); return false; + } } else { pc.next_song = NULL; player->queued = false; |