player_thread: fix cross-fading duplicate chunk bug

When the decoder of the new song is not fast enough, the player thread
has to wait for it for a moment.  However the variable "nextChunk" was
reset to -1 during that, making the next loop iteration assume that
cross-fading has not begun yet.  This patch overwrites it with "0"
while waiting.
This commit is contained in:
Max Kellermann 2009-01-04 14:55:02 +01:00
parent 96c18e7d15
commit 55b6fd2f0c
2 changed files with 9 additions and 0 deletions

1
NEWS
View File

@ -12,6 +12,7 @@ ver 0.15 - (200?/??/??)
* failure to read the state file is non-fatal
* fix minor memory leak in decoder_tag()
* added Icy-Metadata support
* fix cross-fading bug: it used to play some chunks of the new song twice
ver 0.14 (2008/12/25)
* audio outputs:

View File

@ -451,6 +451,14 @@ static void do_play(void)
music_pipe_set_lazy(false);
notify_signal(&dc.notify);
notify_wait(&pc.notify);
/* set nextChunk to a
non-negative value
so the next
iteration doesn't
assume crossfading
hasn't begun yet */
nextChunk = 0;
continue;
}
}