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/Media Decoder State Machine .cpp:2383
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)
try: https://tbpl.mozilla.org/?tree=Try&rev=d9f7a3d5098e most green.
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+
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in before you can comment on or make changes to this bug.