summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <waker@users.sourceforge.net>2014-07-16 14:35:17 +0200
committerGravatar Alexey Yakovenko <waker@users.sourceforge.net>2014-07-16 14:35:17 +0200
commit2707890d1b8aee089bc3b8fd0f395735aff6261e (patch)
tree3cc9d4f7e2267ffb62076208d88232805927b512
parent6815671a569f497665b39ab77ab5ab3b6d5438e8 (diff)
moved more output->stop calls to streamer thread
-rw-r--r--main.c3
-rw-r--r--streamer.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/main.c b/main.c
index d2466c94..bcf07fbc 100644
--- a/main.c
+++ b/main.c
@@ -587,11 +587,9 @@ player_mainloop (void) {
streamer_set_nextsong (-2, 0);
break;
case DB_EV_NEXT:
- output->stop ();
streamer_move_to_nextsong (1);
break;
case DB_EV_PREV:
- output->stop ();
streamer_move_to_prevsong ();
break;
case DB_EV_PAUSE:
@@ -610,7 +608,6 @@ player_mainloop (void) {
}
break;
case DB_EV_PLAY_RANDOM:
- output->stop ();
streamer_move_to_randomsong ();
break;
case DB_EV_PLAYLIST_REFRESH:
diff --git a/streamer.c b/streamer.c
index 705139c9..f7f61fb0 100644
--- a/streamer.c
+++ b/streamer.c
@@ -419,6 +419,9 @@ stop_after_album_check (playItem_t *cur, playItem_t *next) {
static int
streamer_move_to_nextsong_real (int reason) {
+ if (reason) {
+ plug_get_output ()->stop ();
+ }
trace ("streamer_move_to_nextsong (%d)\n", reason);
pl_lock ();
if (!streamer_playlist) {
@@ -638,6 +641,7 @@ streamer_move_to_nextsong_real (int reason) {
static int
streamer_move_to_prevsong_real (void) {
+ plug_get_output ()->stop ();
pl_lock ();
if (streamer_playlist) {
plt_unref (streamer_playlist);
@@ -751,6 +755,7 @@ streamer_move_to_prevsong_real (void) {
static int
streamer_move_to_randomsong_real (void) {
+ plug_get_output ()->stop ();
if (!streamer_playlist) {
streamer_playlist = plt_get_curr ();
}