Bug 1320466 part 4 - delegate OnAudioWaited, OnVideoWaited and OnNotWaited events to state objects; r=jwwang

MozReview-Commit-ID: I5tFVziVE02

--HG--
extra : rebase_source : 336fb6a1ea7020c1df0a18ab114a08d4cd4e5ead
This commit is contained in:
Kaku Kuo 2016-11-26 14:12:01 +08:00
Родитель cd95ac4f30
Коммит fcb436b30c
1 изменённых файлов: 27 добавлений и 2 удалений

Просмотреть файл

@ -197,6 +197,9 @@ public:
virtual void HandleAudioDecoded(MediaData* aAudio) {}
virtual void HandleVideoDecoded(MediaData* aVideo, TimeStamp aDecodeStart) {}
virtual void HandleNotDecoded(MediaData::Type aType, const MediaResult& aError);
virtual void HandleAudioWaited(MediaData::Type aType);
virtual void HandleVideoWaited(MediaData::Type aType);
virtual void HandleNotWaited(const WaitForDataRejectValue& aRejection);
virtual void HandleEndOfStream() {}
virtual void HandleWaitingForData() {}
virtual void HandleAudioCaptured() {}
@ -1189,6 +1192,27 @@ StateObject::HandleNotDecoded(MediaData::Type aType, const MediaResult& aError)
HandleEndOfStream();
}
void
MediaDecoderStateMachine::
StateObject::HandleAudioWaited(MediaData::Type aType)
{
mMaster->EnsureAudioDecodeTaskQueued();
}
void
MediaDecoderStateMachine::
StateObject::HandleVideoWaited(MediaData::Type aType)
{
mMaster->EnsureVideoDecodeTaskQueued();
}
void
MediaDecoderStateMachine::
StateObject::HandleNotWaited(const WaitForDataRejectValue& aRejection)
{
}
RefPtr<MediaDecoder::SeekPromise>
MediaDecoderStateMachine::
StateObject::HandleSeek(SeekTarget aTarget)
@ -2003,7 +2027,7 @@ MediaDecoderStateMachine::OnAudioWaited(MediaData::Type aType)
{
MOZ_ASSERT(OnTaskQueue());
MOZ_ASSERT(aType == MediaData::AUDIO_DATA);
EnsureAudioDecodeTaskQueued();
mStateObj->HandleAudioWaited(aType);
}
void
@ -2011,13 +2035,14 @@ MediaDecoderStateMachine::OnVideoWaited(MediaData::Type aType)
{
MOZ_ASSERT(OnTaskQueue());
MOZ_ASSERT(aType == MediaData::VIDEO_DATA);
EnsureVideoDecodeTaskQueued();
mStateObj->HandleVideoWaited(aType);
}
void
MediaDecoderStateMachine::OnNotWaited(const WaitForDataRejectValue& aRejection)
{
MOZ_ASSERT(OnTaskQueue());
mStateObj->HandleNotWaited(aRejection);
}
bool