player_thread: wait for decoder before seeking

When the decoder initialization has not been completed yet, all calls
to dc_seek() will fail, because dc.seekable is not initialized yet.
Wait for the decoder to complete its initialization, i.e. until it has
called decoder_initialized().
This commit is contained in:
Max Kellermann
2009-03-25 19:48:14 +01:00
parent 1e9659bf1f
commit 209c8a540c
2 changed files with 12 additions and 0 deletions

View File

@@ -301,6 +301,17 @@ static bool player_seek_decoder(struct player *player)
player->queued = false;
}
/* wait for the decoder to complete initialization */
while (player->decoder_starting) {
ret = player_check_decoder_startup(player);
if (!ret) {
/* decoder failure */
player_command_finished();
return false;
}
}
/* send the SEEK command */
where = pc.seek_where;