Closed Bug 1220512 Opened 5 years ago Closed 5 years ago

Intermittent test_playback.html | split.webm checking readyState - got 4, expected 2

Categories

(Core :: Audio/Video: Playback, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla45
Tracking Status
firefox45 --- fixed

People

(Reporter: jwwang, Assigned: jwwang)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://treeherder.mozilla.org/logviewer.html#?repo=mozilla-inbound&job_id=16236257

 01:47:00     INFO -  44279 INFO [finished redirect.sjs?domain=mochi.test:8888&file=320x240.ogv-33] remaining= seek.webm-34
 49131 
 01:47:00     INFO -  44280 INFO TEST-PASS | dom/media/test/test_playback.html | [finished redirect.sjs?domain=mochi.test:8888&file=320x240.ogv-33] Length of array should match number of running tests
 49132 
 01:47:00     INFO -  44281 INFO TEST-PASS | dom/media/test/test_playback.html | [started split.webm-35] Length of array should match number of running tests
 49133 
 01:47:00     INFO -  44282 INFO TEST-PASS | dom/media/test/test_playback.html | split.webm: Name should match #1
 49134 
 01:47:00     INFO -  44283 INFO TEST-PASS | dom/media/test/test_playback.html | split.webm duration (1.967) should be around 1.967
 49135 
 01:47:00     INFO -  44284 INFO TEST-PASS | dom/media/test/test_playback.html | split.webm isEncrypted should be true if we have decryption keys
 49136 
 01:47:00     INFO -  44285 INFO TEST-PASS | dom/media/test/test_playback.html | split.webm: Name should match #3
 49137 
 01:47:00     INFO -  44286 INFO TEST-PASS | dom/media/test/test_playback.html | split.webm: Name should match #2
 49138 
 01:47:00     INFO -  44287 INFO TEST-PASS | dom/media/test/test_playback.html | split.webm duration (2.001) should be around 1.967
 49139 
 01:47:00     INFO -  44288 INFO TEST-PASS | dom/media/test/test_playback.html | split.webm isEncrypted should be true if we have decryption keys
 49140 
 01:47:00     INFO -  44289 INFO TEST-UNEXPECTED-FAIL | dom/media/test/test_playback.html | split.webm checking readyState - got 4, expected 2
https://hg.mozilla.org/mozilla-central/file/96377bdbcdf3/dom/media/MediaDecoderStateMachine.cpp#l731

For a video-only file, next frame status is updated in OnVideoPopped() which sometimes comes after MediaDecoder::PlaybackEnded() is notified. Therefore, we get an outdated readyState in the 'ended' event handler.

The fix is simple by call UpdateNextFrameStatus() before notifying MediaDecoder::PlaybackEnded() to ensure readyState is updated again before 'ended' fired.
Duplicate of this bug: 1218633
Assignee: nobody → jwwang
Bug 1220512 - ensure next frame status is updated before notifying MediaDecoder::PlaybackEnded. See bug 1220512 comment 1 for the detail. r=cpearce.
Attachment #8681755 - Flags: review?(cpearce)
Duplicate of this bug: 1218299
Attachment #8681755 - Flags: review?(cpearce) → review+
Comment on attachment 8681755 [details]
MozReview Request: Bug 1220512 - ensure next frame status is updated before notifying MediaDecoder::PlaybackEnded. See bug 1220512 comment 1 for the detail. r=cpearce.

https://reviewboard.mozilla.org/r/23877/#review21433
Thanks!
https://hg.mozilla.org/mozilla-central/rev/a9ba9c5fee9a
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla45
removing the b2g 2.5 flag since this commit has been reverted due to an incorrect merge, sorry for the confusion
You need to log in before you can comment on or make changes to this bug.