decoder/Control: use ScopeLock

This commit is contained in:
Max Kellermann 2015-12-31 13:45:10 +01:00
parent ef260377c3
commit 2939fadd6a
2 changed files with 13 additions and 27 deletions

View File

@ -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()
if (state != DecoderState::STOP && state != DecoderState::ERROR) if (state != DecoderState::STOP && state != DecoderState::ERROR)
SynchronousCommandLocked(DecoderCommand::STOP); SynchronousCommandLocked(DecoderCommand::STOP);
Unlock();
} }
bool bool

View File

@ -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 {
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 {
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 {
*/ */
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 {
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:
* 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: