Bug 1397141 - part7 : update error description in MFR. draft
authorAlastor Wu <alwu@mozilla.com>
Wed, 13 Sep 2017 15:38:06 +0800
changeset 663633 0ba7bd687189b4375ac58d6f1e7fee966ac92b62
parent 663632 a75519ef5f6cc2a380fe95b1c5dbe5fc50ff0c3b
child 663634 c751f32dde8bf66115e8174f7787dccea3beb419
push id79488
push useralwu@mozilla.com
push dateWed, 13 Sep 2017 07:38:55 +0000
bugs1397141
milestone57.0a1
Bug 1397141 - part7 : update error description in MFR. MozReview-Commit-ID: 9Sb5ogX2Bf2
dom/media/MediaFormatReader.cpp
--- a/dom/media/MediaFormatReader.cpp
+++ b/dom/media/MediaFormatReader.cpp
@@ -714,28 +714,25 @@ MediaFormatReader::DecoderFactory::RunSt
   }
 }
 
 MediaResult
 MediaFormatReader::DecoderFactory::DoCreateDecoder(Data& aData)
 {
   auto& ownerData = aData.mOwnerData;
 
-  auto decoderCreatingError = "error creating audio decoder";
-  MediaResult result =
-    MediaResult(NS_ERROR_DOM_MEDIA_FATAL_ERR, decoderCreatingError);
-
   if (!mOwner->mPlatform) {
     mOwner->mPlatform = new PDMFactory();
     if (mOwner->IsEncrypted()) {
       MOZ_ASSERT(mOwner->mCDMProxy);
       mOwner->mPlatform->SetCDMProxy(mOwner->mCDMProxy);
     }
   }
 
+  MediaResult result(NS_OK);
   switch (aData.mTrack) {
     case TrackInfo::kAudioTrack: {
       aData.mDecoder = mOwner->mPlatform->CreateDecoder({
         ownerData.mInfo
         ? *ownerData.mInfo->GetAsAudioInfo()
         : *ownerData.mOriginalInfo->GetAsAudioInfo(),
         ownerData.mTaskQueue,
         mOwner->mCrashHelper,
@@ -769,17 +766,20 @@ MediaFormatReader::DecoderFactory::DoCre
     default:
       break;
   }
 
   if (aData.mDecoder) {
     return NS_OK;
   }
 
-  ownerData.mDescription = decoderCreatingError;
+  if (NS_FAILED(result)) {
+    ownerData.mDescription = result.Description();
+  }
+
   return result;
 }
 
 void
 MediaFormatReader::DecoderFactory::DoInitDecoder(Data& aData)
 {
   auto& ownerData = aData.mOwnerData;