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

decoder/Control: use ScopeLock

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