Commit 92d9797b authored by Max Kellermann's avatar Max Kellermann

player: don't call STOP before CLOSE_AUDIO

playerWait() stops the player thread (twice!) and closes the output device. It should be well enough to just send CLOSE_AUDIO, without STOP. This requires a tiny change to the player thread code: make it break when CLOSE_AUDIO is sent.
parent cff923b9
...@@ -25,14 +25,6 @@ ...@@ -25,14 +25,6 @@
#include "os_compat.h" #include "os_compat.h"
#include "main_notify.h" #include "main_notify.h"
static void playerCloseAudio(void);
void playerWait(void)
{
playerStop();
playerCloseAudio();
}
static void set_current_song(Song *song) static void set_current_song(Song *song)
{ {
assert(song != NULL); assert(song != NULL);
...@@ -76,6 +68,14 @@ void playerStop(void) ...@@ -76,6 +68,14 @@ void playerStop(void)
playerQueueUnlock(); playerQueueUnlock();
} }
void playerWait(void)
{
player_command(PLAYER_COMMAND_CLOSE_AUDIO);
pc.queueState = PLAYER_QUEUE_BLANK;
playerQueueUnlock();
}
void playerKill(void) /* deprecated */ void playerKill(void) /* deprecated */
{ {
playerPause(); playerPause();
...@@ -165,12 +165,6 @@ char *getPlayerErrorStr(void) ...@@ -165,12 +165,6 @@ char *getPlayerErrorStr(void)
return *error ? error : NULL; return *error ? error : NULL;
} }
static void playerCloseAudio(void)
{
playerStop();
player_command(PLAYER_COMMAND_CLOSE_AUDIO);
}
int queueSong(Song * song) int queueSong(Song * song)
{ {
if (pc.queueState == PLAYER_QUEUE_BLANK) { if (pc.queueState == PLAYER_QUEUE_BLANK) {
......
...@@ -224,7 +224,8 @@ static void decodeParent(void) ...@@ -224,7 +224,8 @@ static void decodeParent(void)
while (1) { while (1) {
processDecodeInput(&do_pause, &bbp, &do_xfade, processDecodeInput(&do_pause, &bbp, &do_xfade,
&decodeWaitedOn, &next); &decodeWaitedOn, &next);
if (pc.command == PLAYER_COMMAND_STOP) { if (pc.command == PLAYER_COMMAND_STOP ||
pc.command == PLAYER_COMMAND_CLOSE_AUDIO) {
dropBufferedAudio(); dropBufferedAudio();
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment