Bug 1330254. Part 3 - remove some checks from NeedToSkipToNextKeyframe().
1. we assert mSentFirstFrameLoadedEvent in DecodingState::Enter()
2. NeedToSkipToNextKeyframe() is called by EnsureVideoDecodeTaskQueued() when IsVideoDecoding() is true.
MozReview-Commit-ID: O6rkCBVmNu
--- a/dom/media/MediaDecoderStateMachine.cpp
+++ b/dom/media/MediaDecoderStateMachine.cpp
@@ -2181,32 +2181,23 @@ DecodingState::EnsureVideoDecodeTaskQueu
mMaster->RequestVideoData(NeedToSkipToNextKeyframe(),
media::TimeUnit::FromMicroseconds(mMaster->GetMediaTime()));
}
bool
MediaDecoderStateMachine::
DecodingState::NeedToSkipToNextKeyframe()
{
- // Don't skip when we're still decoding first frames.
- if (!mMaster->mSentFirstFrameLoadedEvent) {
- return false;
- }
-
// Since GetClock() can only be called after starting MediaSink, we return
// false quickly if it is not started because we won't fall behind playback
// when not consuming media data.
if (!mMaster->mMediaSink->IsStarted()) {
return false;
}
- if (!mMaster->IsVideoDecoding()) {
- return false;
- }
-
// Don't skip frame for video-only decoded stream because the clock time of
// the stream relies on the video frame.
if (mMaster->mAudioCaptured && !mMaster->HasAudio()) {
return false;
}
// We'll skip the video decode to the next keyframe if we're low on
// audio, or if we're low on video, provided we're not running low on