Bug 1397141 - part3 : store mError in H264Converter. draft
authorAlastor Wu <alwu@mozilla.com>
Wed, 06 Sep 2017 18:16:21 +0800
changeset 659876 d5a19d32b86b9c7346719aecc021c4f6305c7746
parent 659875 97771ce0cecbd40284175a9ce64b2737eb8ac547
child 659877 65716d5ca96b4af80f749d954075a18e11514ccc
push id78224
push useralwu@mozilla.com
push dateWed, 06 Sep 2017 10:19:09 +0000
bugs1397141
milestone57.0a1
Bug 1397141 - part3 : store mError in H264Converter. MozReview-Commit-ID: NEZWEY1GM8
dom/media/platforms/wrappers/H264Converter.cpp
dom/media/platforms/wrappers/H264Converter.h
--- a/dom/media/platforms/wrappers/H264Converter.cpp
+++ b/dom/media/platforms/wrappers/H264Converter.cpp
@@ -27,16 +27,17 @@ H264Converter::H264Converter(PlatformDec
   , mImageContainer(aParams.mImageContainer)
   , mTaskQueue(aParams.mTaskQueue)
   , mDecoder(nullptr)
   , mGMPCrashHelper(aParams.mCrashHelper)
   , mLastError(NS_OK)
   , mType(aParams.mType)
   , mOnWaitingForKeyEvent(aParams.mOnWaitingForKeyEvent)
   , mDecoderOptions(aParams.mOptions)
+  , mError(aParams.mError)
 {
   CreateDecoder(mOriginalConfig, aParams.mDiagnostics);
   if (mDecoder) {
     MOZ_ASSERT(mp4_demuxer::H264::HasSPS(mOriginalConfig.mExtraData));
     // The video metadata contains out of band SPS/PPS (AVC1) store it.
     mOriginalExtraData = mOriginalConfig.mExtraData;
   }
 }
@@ -275,17 +276,18 @@ H264Converter::CreateDecoder(const Video
     aConfig,
     mTaskQueue,
     aDiagnostics,
     mImageContainer,
     mKnowsCompositor,
     mGMPCrashHelper,
     mType,
     mOnWaitingForKeyEvent,
-    mDecoderOptions
+    mDecoderOptions,
+    mError
   });
 
   if (!mDecoder) {
     mLastError = NS_ERROR_FAILURE;
     return NS_ERROR_FAILURE;
   }
 
   mNeedKeyframe = true;
--- a/dom/media/platforms/wrappers/H264Converter.h
+++ b/dom/media/platforms/wrappers/H264Converter.h
@@ -100,13 +100,14 @@ private:
   RefPtr<GMPCrashHelper> mGMPCrashHelper;
   Maybe<bool> mNeedAVCC;
   nsresult mLastError;
   bool mNeedKeyframe = true;
   const TrackInfo::TrackType mType;
   MediaEventProducer<TrackInfo::TrackType>* const mOnWaitingForKeyEvent;
   const CreateDecoderParams::OptionSet mDecoderOptions;
   Maybe<bool> mCanRecycleDecoder;
+  MediaResult* mError;
 };
 
 } // namespace mozilla
 
 #endif // mozilla_H264Converter_h