decoder/Control: caller must lock mutex for Seek()
This commit is contained in:
parent
e45d13d469
commit
d0194a6fb3
|
@ -128,8 +128,6 @@ DecoderControl::Stop() noexcept
|
|||
void
|
||||
DecoderControl::Seek(SongTime t)
|
||||
{
|
||||
const std::lock_guard<Mutex> protect(mutex);
|
||||
|
||||
assert(state != DecoderState::START);
|
||||
assert(state != DecoderState::ERROR);
|
||||
|
||||
|
|
|
@ -387,6 +387,8 @@ public:
|
|||
|
||||
/**
|
||||
* Throws #std::runtime_error on error.
|
||||
*
|
||||
* Caller must lock the object.
|
||||
*/
|
||||
void Seek(SongTime t);
|
||||
|
||||
|
|
|
@ -628,6 +628,7 @@ Player::SeekDecoder() noexcept
|
|||
try {
|
||||
const PlayerControl::ScopeOccupied occupied(pc);
|
||||
|
||||
const std::lock_guard<Mutex> lock(pc.mutex);
|
||||
dc.Seek(where + start_time);
|
||||
} catch (...) {
|
||||
/* decoder failure */
|
||||
|
|
Loading…
Reference in New Issue