From 576e1cc9ef90f5d537fa9d34567318ab6266578d Mon Sep 17 00:00:00 2001 From: Julien BLACHE Date: Sun, 9 May 2010 09:24:05 +0200 Subject: [PATCH] Check for player status after playback_write() playback_write() can actually stop the player, so check that this did not happen. --- src/player.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/player.c b/src/player.c index ce3390ec..0d8116c3 100644 --- a/src/player.c +++ b/src/player.c @@ -961,6 +961,10 @@ player_playback_cb(int fd, short what, void *arg) playback_write(); + /* Make sure playback is still running */ + if (player_state == PLAY_STOPPED) + return; + pb_timer_last.tv_nsec += AIRTUNES_V2_STREAM_PERIOD; if (pb_timer_last.tv_nsec >= 1000000000) { @@ -1011,6 +1015,10 @@ player_playback_cb(int fd, short what, void *arg) continue; playback_write(); + + /* Make sure playback is still running */ + if (player_state == PLAY_STOPPED) + return; } ret = event_add(&pb_timer_ev, NULL);