зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1284177 - P1: Provide observable notification for video suspend. r=jwwang
To support mochitests, report change in video decode suspend state via events mozentervideosuspend/mozexitvideosuspend. MozReview-Commit-ID: EwMduLzcMVg --HG-- extra : rebase_source : 5f1fed90964fae182f06d9fb480491728c5f1c97
This commit is contained in:
Родитель
88b7ec7f4b
Коммит
f9a87adc92
|
@ -697,6 +697,12 @@ MediaDecoder::OnPlaybackEvent(MediaEventType aEvent)
|
|||
case MediaEventType::Invalidate:
|
||||
Invalidate();
|
||||
break;
|
||||
case MediaEventType::EnterVideoSuspend:
|
||||
mOwner->DispatchAsyncEvent(NS_LITERAL_STRING("mozentervideosuspend"));
|
||||
break;
|
||||
case MediaEventType::ExitVideoSuspend:
|
||||
mOwner->DispatchAsyncEvent(NS_LITERAL_STRING("mozexitvideosuspend"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1328,8 +1328,8 @@ void MediaDecoderStateMachine::VisibilityChanged()
|
|||
{
|
||||
MOZ_ASSERT(OnTaskQueue());
|
||||
DECODER_LOG("VisibilityChanged: mIsVisible=%d, "
|
||||
"mVideoDecodeSuspended=%d, mIsReaderSuspended=%d",
|
||||
mIsVisible.Ref(), mVideoDecodeSuspended, mIsReaderSuspended.Ref());
|
||||
"mVideoDecodeSuspended=%c, mIsReaderSuspended=%d",
|
||||
mIsVisible.Ref(), mVideoDecodeSuspended ? 'T' : 'F', mIsReaderSuspended.Ref());
|
||||
|
||||
if (!HasVideo()) {
|
||||
return;
|
||||
|
@ -1358,6 +1358,7 @@ void MediaDecoderStateMachine::VisibilityChanged()
|
|||
|
||||
if (mVideoDecodeSuspended) {
|
||||
mVideoDecodeSuspended = false;
|
||||
mOnPlaybackEvent.Notify(MediaEventType::ExitVideoSuspend);
|
||||
mReader->SetVideoBlankDecode(false);
|
||||
|
||||
if (mIsReaderSuspended) {
|
||||
|
@ -2931,6 +2932,7 @@ MediaDecoderStateMachine::OnSuspendTimerResolved()
|
|||
DECODER_LOG("OnSuspendTimerResolved");
|
||||
mVideoDecodeSuspendTimer.CompleteRequest();
|
||||
mVideoDecodeSuspended = true;
|
||||
mOnPlaybackEvent.Notify(MediaEventType::EnterVideoSuspend);
|
||||
mReader->SetVideoBlankDecode(true);
|
||||
}
|
||||
|
||||
|
|
|
@ -120,7 +120,9 @@ enum class MediaEventType : int8_t {
|
|||
PlaybackEnded,
|
||||
SeekStarted,
|
||||
DecodeError,
|
||||
Invalidate
|
||||
Invalidate,
|
||||
EnterVideoSuspend,
|
||||
ExitVideoSuspend
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
Загрузка…
Ссылка в новой задаче