Commit acb265d0 authored by Max Kellermann's avatar Max Kellermann

player_thread: don't start the decoder asynchronously

The START command returns without blocking; we don't need the asynchronous decoder start anymore.
parent 77a647fc
...@@ -94,16 +94,6 @@ dc_start(struct decoder_control *dc, struct song *song) ...@@ -94,16 +94,6 @@ dc_start(struct decoder_control *dc, struct song *song)
} }
void void
dc_start_async(struct decoder_control *dc, struct song *song)
{
assert(dc->pipe != NULL);
assert(song != NULL);
dc->next_song = song;
dc_command_async(dc, DECODE_COMMAND_START);
}
void
dc_stop(struct decoder_control *dc) dc_stop(struct decoder_control *dc)
{ {
decoder_lock(dc); decoder_lock(dc);
......
...@@ -212,9 +212,6 @@ void ...@@ -212,9 +212,6 @@ void
dc_start(struct decoder_control *dc, struct song *song); dc_start(struct decoder_control *dc, struct song *song);
void void
dc_start_async(struct decoder_control *dc, struct song *song);
void
dc_stop(struct decoder_control *dc); dc_stop(struct decoder_control *dc);
bool bool
......
...@@ -159,8 +159,6 @@ player_wait_for_decoder(struct player *player) ...@@ -159,8 +159,6 @@ player_wait_for_decoder(struct player *player)
{ {
struct decoder_control *dc = player->dc; struct decoder_control *dc = player->dc;
dc_command_wait(dc);
if (decoder_lock_has_failed(dc)) { if (decoder_lock_has_failed(dc)) {
assert(dc->next_song == NULL || dc->next_song->uri != NULL); assert(dc->next_song == NULL || dc->next_song->uri != NULL);
...@@ -331,7 +329,7 @@ static bool player_seek_decoder(struct player *player) ...@@ -331,7 +329,7 @@ static bool player_seek_decoder(struct player *player)
dc->pipe = player->pipe; dc->pipe = player->pipe;
/* re-start the decoder */ /* re-start the decoder */
dc_start_async(dc, pc.next_song); dc_start(dc, pc.next_song);
ret = player_wait_for_decoder(player); ret = player_wait_for_decoder(player);
if (!ret) { if (!ret) {
/* decoder failure */ /* decoder failure */
...@@ -793,7 +791,7 @@ static void do_play(struct decoder_control *dc) ...@@ -793,7 +791,7 @@ static void do_play(struct decoder_control *dc)
player.queued = false; player.queued = false;
dc->pipe = music_pipe_new(); dc->pipe = music_pipe_new();
dc_start_async(dc, pc.next_song); dc_start(dc, pc.next_song);
} }
if (dc->pipe != NULL && dc->pipe != player.pipe && if (dc->pipe != NULL && dc->pipe != player.pipe &&
......
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