Closed Bug 1008012 Opened 5 years ago Closed 5 years ago

Assertion failure: pos >= 0 (Video stream position should be positive.), at /builds/slave/try-and-d-00000000000000000000/build/content/media/MediaDecoderStateMachine.cpp:2383

Categories

(Core :: Audio/Video, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla32

People

(Reporter: jwwang, Assigned: jwwang)

References

Details

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=39317630&tree=Try&full=1#error0
Assertion failed at this line:
https://hg.mozilla.org/try/file/215f78e95c6d/content/media/MediaDecoderStateMachine.cpp#l2383

The flow is:
1. MediaDecoderStateMachine::Seek() changes mBasePosition
2. DecodeSeek() calls GetVideoStreamPosition() indirectly which will read mBasePosition

DecodeSeek() shouldn't update mBasePosition before calling StopPlayback(), otherwise GetVideoStreamPosition() will get wrong mBasePosition and return wrong result.

SetPlaybackRate() also has the same problem which update mBasePosition too early when mState is DECODER_STATE_SEEKING.
|mBasePosition| should be updated after seeking otherwise GetVideoStreamPosition will get the wrong value.

SetPlaybackRate() also has the same problem. However, I will need to create a test case before I can fix the SetPlaybackRate() part. test_playback_rate.html only changes the playback rate. We need to create a test case to change playback rate and seek at the same time to hit the bug at http://dxr.mozilla.org/mozilla-central/source/content/media/MediaDecoderStateMachine.cpp#2815.
Assignee: nobody → jwwang
Status: NEW → ASSIGNED
Attachment #8426074 - Flags: feedback?(rlin)
Attachment #8426074 - Flags: feedback?(rlin) → feedback+
Attachment #8426074 - Flags: review?(cpearce)
Comment on attachment 8426074 [details] [diff] [review]
1008012_fix_mBasePosition.patch

Review of attachment 8426074 [details] [diff] [review]:
-----------------------------------------------------------------

Good catch.
Attachment #8426074 - Flags: review?(cpearce) → review+
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/57b906c60964
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
Blocks: 1015890
You need to log in before you can comment on or make changes to this bug.