aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/player.c22
-rw-r--r--src/player_thread.c3
2 files changed, 10 insertions, 15 deletions
diff --git a/src/player.c b/src/player.c
index fae405ae3..5c3319491 100644
--- a/src/player.c
+++ b/src/player.c
@@ -25,14 +25,6 @@
#include "os_compat.h"
#include "main_notify.h"
-static void playerCloseAudio(void);
-
-void playerWait(void)
-{
- playerStop();
- playerCloseAudio();
-}
-
static void set_current_song(Song *song)
{
assert(song != NULL);
@@ -76,6 +68,14 @@ void playerStop(void)
playerQueueUnlock();
}
+void playerWait(void)
+{
+ player_command(PLAYER_COMMAND_CLOSE_AUDIO);
+
+ pc.queueState = PLAYER_QUEUE_BLANK;
+ playerQueueUnlock();
+}
+
void playerKill(void) /* deprecated */
{
playerPause();
@@ -165,12 +165,6 @@ char *getPlayerErrorStr(void)
return *error ? error : NULL;
}
-static void playerCloseAudio(void)
-{
- playerStop();
- player_command(PLAYER_COMMAND_CLOSE_AUDIO);
-}
-
int queueSong(Song * song)
{
if (pc.queueState == PLAYER_QUEUE_BLANK) {
diff --git a/src/player_thread.c b/src/player_thread.c
index 62badab96..3784445e9 100644
--- a/src/player_thread.c
+++ b/src/player_thread.c
@@ -224,7 +224,8 @@ static void decodeParent(void)
while (1) {
processDecodeInput(&do_pause, &bbp, &do_xfade,
&decodeWaitedOn, &next);
- if (pc.command == PLAYER_COMMAND_STOP) {
+ if (pc.command == PLAYER_COMMAND_STOP ||
+ pc.command == PLAYER_COMMAND_CLOSE_AUDIO) {
dropBufferedAudio();
break;
}