decoder/Control: use ScopeLock
This commit is contained in:
parent
ef260377c3
commit
2939fadd6a
@ -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
|
||||||
|
@ -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:
|
||||||
|
Loading…
Reference in New Issue
Block a user