From 3a387643b34d11d17c37e83812aedbf5f8171029 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 5 Nov 2015 00:38:09 +0100 Subject: player/Thread: move player_command_finished() to PlayerControl --- src/player/Control.hxx | 6 ++++++ src/player/Thread.cxx | 16 ++++------------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/player/Control.hxx b/src/player/Control.hxx index 2b15e89d8..ae4465ca6 100644 --- a/src/player/Control.hxx +++ b/src/player/Control.hxx @@ -263,6 +263,12 @@ struct PlayerControl { ClientSignal(); } + void LockCommandFinished() { + Lock(); + CommandFinished(); + Unlock(); + } + private: /** * Wait for the command to be finished by the player thread. diff --git a/src/player/Thread.cxx b/src/player/Thread.cxx index 5673f4867..3c315ebcf 100644 --- a/src/player/Thread.cxx +++ b/src/player/Thread.cxx @@ -310,14 +310,6 @@ public: void Run(); }; -static void -player_command_finished(PlayerControl &pc) -{ - pc.Lock(); - pc.CommandFinished(); - pc.Unlock(); -} - void Player::StartDecoder(MusicPipe &_pipe) { @@ -581,7 +573,7 @@ Player::SeekDecoder() while (decoder_starting) { if (!CheckDecoderStartup()) { /* decoder failure */ - player_command_finished(pc); + pc.LockCommandFinished(); return false; } } @@ -597,13 +589,13 @@ Player::SeekDecoder() if (!dc.Seek(where + start_time)) { /* decoder failure */ - player_command_finished(pc); + pc.LockCommandFinished(); return false; } elapsed_time = where; - player_command_finished(pc); + pc.LockCommandFinished(); assert(xfade_state == CrossFadeState::UNKNOWN); @@ -1190,7 +1182,7 @@ player_task(void *arg) pc.outputs.Close(); - player_command_finished(pc); + pc.LockCommandFinished(); return; case PlayerCommand::CANCEL: -- cgit v1.2.3