author | JW Wang <jwwang@mozilla.com> |
Mon, 15 Jun 2015 10:22:54 +0800 | |
changeset 248791 | e5ea732b4531caf0ba2559ff3fa8b122ca7c45c2 |
parent 248790 | e4053dff4ac34f688b25a6e055de9d5d0841267b |
child 248792 | 4c59a5c5da0204e1528ef2120fe25691e042bfdb |
push id | 61058 |
push user | jwwang@mozilla.com |
push date | Mon, 15 Jun 2015 02:24:17 +0000 |
treeherder | mozilla-inbound@e5ea732b4531 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | cpearce |
bugs | 1173248, 951278 |
milestone | 41.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/media/MediaDecoderStateMachine.cpp +++ b/dom/media/MediaDecoderStateMachine.cpp @@ -2965,21 +2965,17 @@ void MediaDecoderStateMachine::AdvanceFr // the monitor and get a staled value from GetCurrentTimeUs() which hits the // assertion in GetClock(). if (currentFrame) { // Decode one frame and display it. int64_t delta = currentFrame->mTime - clock_time; TimeStamp presTime = nowTime + TimeDuration::FromMicroseconds(delta / mPlaybackRate); NS_ASSERTION(currentFrame->mTime >= mStartTime, "Should have positive frame time"); - // Filter out invalid frames by checking the frame time. FrameTime could be - // zero if it's a initial frame. - int64_t frameTime = currentFrame->mTime - mStartTime; - if (frameTime > 0 || (frameTime == 0 && mPlayDuration == 0) || - IsRealTime()) { + { ReentrantMonitorAutoExit exitMon(mDecoder->GetReentrantMonitor()); // If we have video, we want to increment the clock in steps of the frame // duration. RenderVideoFrame(currentFrame, presTime); } MOZ_ASSERT(IsPlaying()); MediaDecoder::FrameStatistics& frameStats = mDecoder->GetFrameStatistics(); frameStats.NotifyPresentedFrame();