Bug 1258410: [MSE] P2. Disconnect init promise if any pending. r=gerald

MozReview-Commit-ID: 9iOPqSeDzdH

--HG--
extra : rebase_source : a5a840c31c7f5348870dc9f9ca3a408d91a96a88
This commit is contained in:
Jean-Yves Avenard 2016-03-23 16:35:10 +11:00
Родитель d2e51e6dd6
Коммит f32aca05b7
1 изменённых файлов: 8 добавлений и 1 удалений

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

@ -308,6 +308,13 @@ TrackBuffersManager::CompleteResetParserState()
MOZ_ASSERT(OnTaskQueue());
MSE_DEBUG("");
// We shouldn't change mInputDemuxer while a demuxer init/reset request is
// being processed. See bug 1239983.
NS_ASSERTION(!mDemuxerInitRequest.Exists(), "Previous AppendBuffer didn't complete");
if (mDemuxerInitRequest.Exists()) {
mDemuxerInitRequest.Disconnect();
}
for (auto& track : GetTracksList()) {
// 2. Unset the last decode timestamp on all track buffers.
// 3. Unset the last frame duration on all track buffers.
@ -882,7 +889,7 @@ TrackBuffersManager::OnDemuxerInitDone(nsresult)
if (!mInputDemuxer) {
// mInputDemuxer shouldn't have been destroyed while a demuxer init/reset
// request was being processed. See bug 1239983.
NS_WARNING("mInputDemuxer has been destroyed");
NS_ASSERTION(false, "mInputDemuxer has been destroyed");
RejectAppend(NS_ERROR_ABORT, __func__);
}