mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 00:35:44 +00:00
Bug 1135785 - Stop manually resetting mCurrentSeekTarget in MDSM::SeekCompleted and rely on the AutoSetOnScopeExit instead. r=cpearce
For some reason the current code is resetting it twice - once explicitly and once with the AutoSetOnScopeExit. To make matters worse, we have a monitor drop between the two. So when DecodeSeek runs on the decode task queue but SeekCompleted runs on the state machine thread, we can start another DecodeSeek during the monitor drop, and then clobber it with the AutoSeetOnScopeExit, causing us to hang. This is a non-issue with the patches in bug 1135170, but necessary to make the patches in this bug independently green.
This commit is contained in:
parent
8955631001
commit
d7ab5a9b0f
@ -2684,8 +2684,6 @@ MediaDecoderStateMachine::SeekCompleted()
|
|||||||
// Try to decode another frame to detect if we're at the end...
|
// Try to decode another frame to detect if we're at the end...
|
||||||
DECODER_LOG("Seek completed, mCurrentFrameTime=%lld", mCurrentFrameTime);
|
DECODER_LOG("Seek completed, mCurrentFrameTime=%lld", mCurrentFrameTime);
|
||||||
|
|
||||||
mCurrentSeekTarget = SeekTarget();
|
|
||||||
|
|
||||||
// Reset quick buffering status. This ensures that if we began the
|
// Reset quick buffering status. This ensures that if we began the
|
||||||
// seek while quick-buffering, we won't bypass quick buffering mode
|
// seek while quick-buffering, we won't bypass quick buffering mode
|
||||||
// if we need to buffer after the seek.
|
// if we need to buffer after the seek.
|
||||||
|
Loading…
Reference in New Issue
Block a user