зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1112822 - Don't allow MP4Reader to decode if someone shut it down. r=mattwoodrow
This commit is contained in:
Родитель
0c1b1063c8
Коммит
2d7d331a93
|
@ -525,6 +525,14 @@ MP4Reader::RequestVideoData(bool aSkipToNextKeyframe,
|
|||
MOZ_ASSERT(GetTaskQueue()->IsCurrentThreadIn());
|
||||
VLOG("RequestVideoData skip=%d time=%lld", aSkipToNextKeyframe, aTimeThreshold);
|
||||
|
||||
if (mShutdown) {
|
||||
NS_WARNING("RequestVideoData on shutdown MP4Reader!");
|
||||
MonitorAutoLock lock(mVideo.mMonitor);
|
||||
nsRefPtr<VideoDataPromise> p = mVideo.mPromise.Ensure(__func__);
|
||||
p->Reject(CANCELED, __func__);
|
||||
return p;
|
||||
}
|
||||
|
||||
MOZ_ASSERT(HasVideo() && mPlatform && mVideo.mDecoder);
|
||||
|
||||
bool eos = false;
|
||||
|
@ -555,7 +563,12 @@ MP4Reader::RequestAudioData()
|
|||
VLOG("RequestAudioData");
|
||||
MonitorAutoLock lock(mAudio.mMonitor);
|
||||
nsRefPtr<AudioDataPromise> p = mAudio.mPromise.Ensure(__func__);
|
||||
ScheduleUpdate(kAudio);
|
||||
if (!mShutdown) {
|
||||
ScheduleUpdate(kAudio);
|
||||
} else {
|
||||
NS_WARNING("RequestAudioData on shutdown MP4Reader!");
|
||||
p->Reject(CANCELED, __func__);
|
||||
}
|
||||
return p;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче