decoder/Control: caller must lock mutex for Stop()
This commit is contained in:
parent
76d77af0f0
commit
860d13c7d8
@ -112,8 +112,6 @@ DecoderControl::Start(std::unique_ptr<DetachedSong> _song,
|
||||
void
|
||||
DecoderControl::Stop() noexcept
|
||||
{
|
||||
const std::lock_guard<Mutex> protect(mutex);
|
||||
|
||||
if (command != DecoderCommand::NONE)
|
||||
/* Attempt to cancel the current command. If it's too
|
||||
late and the decoder thread is already executing
|
||||
|
@ -383,6 +383,9 @@ public:
|
||||
SongTime start_time, SongTime end_time,
|
||||
MusicBuffer &buffer, MusicPipe &pipe) noexcept;
|
||||
|
||||
/**
|
||||
* Caller must lock the object.
|
||||
*/
|
||||
void Stop() noexcept;
|
||||
|
||||
/**
|
||||
|
@ -373,6 +373,7 @@ void
|
||||
Player::StopDecoder() noexcept
|
||||
{
|
||||
const PlayerControl::ScopeOccupied occupied(pc);
|
||||
const std::lock_guard<Mutex> protect(pc.mutex);
|
||||
|
||||
dc.Stop();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user