Commit c6d1d360 authored by Max Kellermann's avatar Max Kellermann

player/Control: use class ScopeLock

parent afc1236b
......@@ -54,7 +54,7 @@ PlayerControl::Play(DetachedSong *song)
{
assert(song != nullptr);
Lock();
const ScopeLock protect(mutex);
if (state != PlayerState::STOP)
SynchronousCommand(PlayerCommand::STOP);
......@@ -64,8 +64,6 @@ PlayerControl::Play(DetachedSong *song)
EnqueueSongLocked(song);
assert(next_song == nullptr);
Unlock();
}
void
......@@ -113,15 +111,14 @@ PlayerControl::PauseLocked()
void
PlayerControl::LockPause()
{
Lock();
const ScopeLock protect(mutex);
PauseLocked();
Unlock();
}
void
PlayerControl::LockSetPause(bool pause_flag)
{
Lock();
const ScopeLock protect(mutex);
switch (state) {
case PlayerState::STOP:
......@@ -137,16 +134,13 @@ PlayerControl::LockSetPause(bool pause_flag)
PauseLocked();
break;
}
Unlock();
}
void
PlayerControl::LockSetBorderPause(bool _border_pause)
{
Lock();
const ScopeLock protect(mutex);
border_pause = _border_pause;
Unlock();
}
player_status
......@@ -154,7 +148,7 @@ PlayerControl::LockGetStatus()
{
player_status status;
Lock();
const ScopeLock protect(mutex);
SynchronousCommand(PlayerCommand::REFRESH);
status.state = state;
......@@ -166,8 +160,6 @@ PlayerControl::LockGetStatus()
status.elapsed_time = elapsed_time;
}
Unlock();
return status;
}
......@@ -184,18 +176,16 @@ PlayerControl::SetError(PlayerError type, Error &&_error)
void
PlayerControl::LockClearError()
{
Lock();
const ScopeLock protect(mutex);
ClearError();
Unlock();
}
void
PlayerControl::LockSetTaggedSong(const DetachedSong &song)
{
Lock();
const ScopeLock protect(mutex);
delete tagged_song;
tagged_song = new DetachedSong(song);
Unlock();
}
void
......@@ -210,9 +200,8 @@ PlayerControl::LockEnqueueSong(DetachedSong *song)
{
assert(song != nullptr);
Lock();
const ScopeLock protect(mutex);
EnqueueSongLocked(song);
Unlock();
}
void
......@@ -237,9 +226,10 @@ PlayerControl::LockSeek(DetachedSong *song, SongTime t)
{
assert(song != nullptr);
Lock();
SeekLocked(song, t);
Unlock();
{
const ScopeLock protect(mutex);
SeekLocked(song, t);
}
idle_add(IDLE_PLAYER);
......
......@@ -210,9 +210,8 @@ struct PlayerControl {
* this function.
*/
void LockSignal() {
Lock();
const ScopeLock protect(mutex);
Signal();
Unlock();
}
/**
......@@ -264,9 +263,8 @@ struct PlayerControl {
}
void LockCommandFinished() {
Lock();
const ScopeLock protect(mutex);
CommandFinished();
Unlock();
}
private:
......@@ -304,9 +302,8 @@ private:
* object.
*/
void LockSynchronousCommand(PlayerCommand cmd) {
Lock();
const ScopeLock protect(mutex);
SynchronousCommand(cmd);
Unlock();
}
public:
......@@ -377,10 +374,8 @@ public:
*/
gcc_pure
Error LockGetError() const {
Lock();
Error result = GetError();
Unlock();
return result;
const ScopeLock protect(mutex);
return GetError();
}
void LockClearError();
......@@ -412,10 +407,8 @@ public:
* Like ReadTaggedSong(), but locks and unlocks the object.
*/
DetachedSong *LockReadTaggedSong() {
Lock();
DetachedSong *result = ReadTaggedSong();
Unlock();
return result;
const ScopeLock protect(mutex);
return ReadTaggedSong();
}
void LockStop();
......
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