summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2010-10-26 20:49:36 +0200
committerGravatar waker <wakeroid@gmail.com>2010-10-26 20:49:36 +0200
commitc307cf0c0eb3029de065f503140f9dfdc272930f (patch)
tree837349b0fa72829391f7d1844a5bd3850fc670fc /main.c
parent901e1856d514530b9f11d520da1fa1562746d1c0 (diff)
on session resume, don't seek next track in failed to start
also better seekpos reporting
Diffstat (limited to 'main.c')
-rw-r--r--main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/main.c b/main.c
index 75185052..5e776b73 100644
--- a/main.c
+++ b/main.c
@@ -509,9 +509,11 @@ restore_resume_state (void) {
int paused = conf_get_int ("resume.paused", 0);
trace ("resume: track %d pos %f playlist %d\n", track, pos, plt);
if (plt >= 0 && track >= 0 && pos >= 0) {
+ streamer_lock (); // need to hold streamer thread to make the resume operation atomic
streamer_set_current_playlist (plt);
- streamer_set_seek (pos);
streamer_set_nextsong (track, paused ? 2 : 3);
+ streamer_set_seek (pos);
+ streamer_unlock ();
}
}
}