зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1305361 - Notify media if the GPU process crashes during video playback. r=dvander
This commit is contained in:
Родитель
f0b6731a16
Коммит
c449d80543
|
@ -23,6 +23,7 @@ VideoDecoderChild::VideoDecoderChild()
|
|||
: mThread(VideoDecoderManagerChild::GetManagerThread())
|
||||
, mLayersBackend(layers::LayersBackend::LAYERS_NONE)
|
||||
, mCanSend(true)
|
||||
, mInitialized(false)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -84,6 +85,7 @@ VideoDecoderChild::RecvInitComplete()
|
|||
{
|
||||
AssertOnManagerThread();
|
||||
mInitPromise.Resolve(TrackInfo::kVideoTrack, __func__);
|
||||
mInitialized = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -98,6 +100,13 @@ VideoDecoderChild::RecvInitFailed(const nsresult& aReason)
|
|||
void
|
||||
VideoDecoderChild::ActorDestroy(ActorDestroyReason aWhy)
|
||||
{
|
||||
if (aWhy == AbnormalShutdown) {
|
||||
if (mInitialized) {
|
||||
mCallback->Error(NS_ERROR_DOM_MEDIA_FATAL_ERR);
|
||||
} else {
|
||||
mInitPromise.RejectIfExists(NS_ERROR_DOM_MEDIA_FATAL_ERR, __func__);
|
||||
}
|
||||
}
|
||||
mCanSend = false;
|
||||
}
|
||||
|
||||
|
@ -197,6 +206,7 @@ VideoDecoderChild::Shutdown()
|
|||
if (!mCanSend || !SendShutdown()) {
|
||||
mCallback->Error(NS_ERROR_DOM_MEDIA_FATAL_ERR);
|
||||
}
|
||||
mInitialized = false;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -64,6 +64,7 @@ private:
|
|||
VideoInfo mVideoInfo;
|
||||
layers::LayersBackend mLayersBackend;
|
||||
bool mCanSend;
|
||||
bool mInitialized;
|
||||
};
|
||||
|
||||
} // namespace dom
|
||||
|
|
Загрузка…
Ссылка в новой задаче