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:
parent
96c18e7d15
commit
55b6fd2f0c
1
NEWS
1
NEWS
@ -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:
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user