summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-05-01 20:29:15 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-05-01 20:29:15 +0200
commit95c829fb75ed7c4ecb933073f5ed59d2b647c7f4 (patch)
tree483198cc93c669979bd82ec8134813cfb34f0a93
parent76a27d6a8ffcc8d6ca608e674a78115cdf14b6ec (diff)
fixed decoder error handling regressions in streamer
-rw-r--r--streamer.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/streamer.c b/streamer.c
index d7a746e4..ae0a2b33 100644
--- a/streamer.c
+++ b/streamer.c
@@ -660,6 +660,7 @@ static void
streamer_start_new_song (void) {
trace ("nextsong=%d\n", nextsong);
int sng = nextsong;
+ int initsng = nextsong;
int pstate = nextsong_pstate;
nextsong = -1;
src_remaining = 0;
@@ -700,13 +701,13 @@ streamer_start_new_song (void) {
}
trace ("\033[0;34mbadsong=%d\033[37;0m\n", badsong);
// try jump to next song
- if (nextsong == sng) {
+ if (nextsong == -1) {
streamer_move_to_nextsong (0);
trace ("streamer_move_to_nextsong switched to track %d\n", nextsong);
usleep (50000);
}
else {
- trace ("nextsong changed to %d by another thread, reinit\n", nextsong);
+ trace ("nextsong changed from %d to %d by another thread, reinit\n", initsng, nextsong);
badsong = -1;
}
return;