mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-13 21:35:39 +00:00
Bug 1299369. Part 2 - except for BUFFERING or SEEKING, HaveNextFrameData() should be able to tell us whether next frames are available. r=kaku
MozReview-Commit-ID: HtVP2ncyxjv --HG-- extra : rebase_source : d06ede67efb4f688993fb1175fee4b562caef1c5
This commit is contained in:
parent
07fce265fe
commit
cefdb6ce18
@ -2480,21 +2480,22 @@ void MediaDecoderStateMachine::UpdateNextFrameStatus()
|
||||
|
||||
MediaDecoderOwner::NextFrameStatus status;
|
||||
const char* statusString;
|
||||
if (mState < DECODER_STATE_DECODING || !mSentFirstFrameLoadedEvent) {
|
||||
status = MediaDecoderOwner::NEXT_FRAME_UNAVAILABLE;
|
||||
statusString = "NEXT_FRAME_UNAVAILABLE";
|
||||
} else if (IsBuffering()) {
|
||||
status = MediaDecoderOwner::NEXT_FRAME_UNAVAILABLE_BUFFERING;
|
||||
statusString = "NEXT_FRAME_UNAVAILABLE_BUFFERING";
|
||||
} else if (IsSeeking()) {
|
||||
status = MediaDecoderOwner::NEXT_FRAME_UNAVAILABLE_SEEKING;
|
||||
statusString = "NEXT_FRAME_UNAVAILABLE_SEEKING";
|
||||
} else if (HaveNextFrameData()) {
|
||||
status = MediaDecoderOwner::NEXT_FRAME_AVAILABLE;
|
||||
statusString = "NEXT_FRAME_AVAILABLE";
|
||||
} else {
|
||||
status = MediaDecoderOwner::NEXT_FRAME_UNAVAILABLE;
|
||||
statusString = "NEXT_FRAME_UNAVAILABLE";
|
||||
|
||||
switch (mState.Ref()) {
|
||||
case DECODER_STATE_BUFFERING:
|
||||
status = MediaDecoderOwner::NEXT_FRAME_UNAVAILABLE_BUFFERING;
|
||||
statusString = "NEXT_FRAME_UNAVAILABLE_BUFFERING";
|
||||
break;
|
||||
case DECODER_STATE_SEEKING:
|
||||
status = MediaDecoderOwner::NEXT_FRAME_UNAVAILABLE_SEEKING;
|
||||
statusString = "NEXT_FRAME_UNAVAILABLE_SEEKING";
|
||||
break;
|
||||
default:
|
||||
bool b = HaveNextFrameData();
|
||||
status = b ? MediaDecoderOwner::NEXT_FRAME_AVAILABLE :
|
||||
MediaDecoderOwner::NEXT_FRAME_UNAVAILABLE;
|
||||
statusString = b ? "NEXT_FRAME_AVAILABLE" : "NEXT_FRAME_UNAVAILABLE";
|
||||
break;
|
||||
}
|
||||
|
||||
if (status != mNextFrameStatus) {
|
||||
|
Loading…
Reference in New Issue
Block a user