Commit 2939fadd authored by Max Kellermann's avatar Max Kellermann

decoder/Control: use ScopeLock

parent ef260377
......@@ -90,7 +90,7 @@ DecoderControl::Start(DetachedSong *_song,
void
DecoderControl::Stop()
{
Lock();
const ScopeLock protect(mutex);
if (command != DecoderCommand::NONE)
/* Attempt to cancel the current command. If it's too
......@@ -101,8 +101,6 @@ DecoderControl::Stop()
if (state != DecoderState::STOP && state != DecoderState::ERROR)
SynchronousCommandLocked(DecoderCommand::STOP);
Unlock();
}
bool
......
......@@ -213,10 +213,8 @@ struct DecoderControl {
gcc_pure
bool LockIsIdle() const {
Lock();
bool result = IsIdle();
Unlock();
return result;
const ScopeLock protect(mutex);
return IsIdle();
}
bool IsStarting() const {
......@@ -225,10 +223,8 @@ struct DecoderControl {
gcc_pure
bool LockIsStarting() const {
Lock();
bool result = IsStarting();
Unlock();
return result;
const ScopeLock protect(mutex);
return IsStarting();
}
bool HasFailed() const {
......@@ -239,10 +235,8 @@ struct DecoderControl {
gcc_pure
bool LockHasFailed() const {
Lock();
bool result = HasFailed();
Unlock();
return result;
const ScopeLock protect(mutex);
return HasFailed();
}
/**
......@@ -267,10 +261,8 @@ struct DecoderControl {
*/
gcc_pure
Error LockGetError() const {
Lock();
Error result = GetError();
Unlock();
return result;
const ScopeLock protect(mutex);
return GetError();
}
/**
......@@ -297,10 +289,8 @@ struct DecoderControl {
gcc_pure
bool LockIsCurrentSong(const DetachedSong &_song) const {
Lock();
const bool result = IsCurrentSong(_song);
Unlock();
return result;
const ScopeLock protect(mutex);
return IsCurrentSong(_song);
}
private:
......@@ -336,17 +326,15 @@ private:
* object.
*/
void LockSynchronousCommand(DecoderCommand cmd) {
Lock();
const ScopeLock protect(mutex);
ClearError();
SynchronousCommandLocked(cmd);
Unlock();
}
void LockAsynchronousCommand(DecoderCommand cmd) {
Lock();
const ScopeLock protect(mutex);
command = cmd;
Signal();
Unlock();
}
public:
......
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