Bug 1336431: P3. Don't attempt to decode non-keyframe. r?gerald draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Mon, 13 Feb 2017 13:40:33 +0100
changeset 483574 e4743fa9af00b8073e348c0f7e004401cc213baf
parent 483573 e774042b557fc9ca4ecb4bcbfd414cd48e07d019
child 483575 485ccfe9c084b63c2d496fabbec8de8000967c4c
push id45346
push userbmo:jyavenard@mozilla.com
push dateTue, 14 Feb 2017 15:11:15 +0000
reviewersgerald
bugs1336431, 1319987
milestone54.0a1
Bug 1336431: P3. Don't attempt to decode non-keyframe. r?gerald Regression introduced in bug 1319987 MozReview-Commit-ID: Jf9umDV9fGr
dom/media/platforms/wrappers/H264Converter.cpp
--- a/dom/media/platforms/wrappers/H264Converter.cpp
+++ b/dom/media/platforms/wrappers/H264Converter.cpp
@@ -247,16 +247,17 @@ H264Converter::CreateDecoderAndInit(Medi
 
 void
 H264Converter::OnDecoderInitDone(const TrackType aTrackType)
 {
   mInitPromiseRequest.Complete();
   RefPtr<MediaRawData> sample = mPendingSample.forget();
   if (mNeedKeyframe && !sample->mKeyframe) {
     mDecodePromise.Resolve(DecodedData(), __func__);
+    return;
   }
   mNeedKeyframe = false;
   if (!mNeedAVCC
       && !mp4_demuxer::AnnexB::ConvertSampleToAnnexB(sample, mNeedKeyframe)) {
     mDecodePromise.Reject(
       MediaResult(NS_ERROR_OUT_OF_MEMORY,
                   RESULT_DETAIL("ConvertSampleToAnnexB")),
       __func__);