Bug 1402584. P1 - Backed out changeset 442e8020e2ac. draft
authorJW Wang <jwwang@mozilla.com>
Sat, 07 Oct 2017 07:58:19 +0800
changeset 676288 394da3f085e52296e62af852add26e72fa688a62
parent 675853 e332d1fe94822fbff434fd438306487bcf6d3eef
child 676289 9b63f9eaa250ebe7259cc7fab709aac00858aaf6
push id83462
push userjwwang@mozilla.com
push dateSat, 07 Oct 2017 06:51:21 +0000
bugs1402584
milestone58.0a1
Bug 1402584. P1 - Backed out changeset 442e8020e2ac. MozReview-Commit-ID: JqZJDTMyKGm
dom/html/HTMLMediaElement.cpp
dom/media/MediaDecoder.h
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -2840,27 +2840,16 @@ HTMLMediaElement::Seek(double aTime,
   //       actual seek target before beginning the synchronous section, but
   //       that requires changing all MediaDecoderReaders to support telling
   //       us the fastSeek target, and it's currently not possible to get
   //       this information as we don't yet control the demuxer for all
   //       MediaDecoderReaders.
 
   mPlayingBeforeSeek = IsPotentiallyPlaying();
 
-#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED
-  if (!mDecoder->IsMetadataLoaded()) {
-    // This is for debugging bug 1402584.
-    // We should reach here only after metadata loaded by the decoder.
-    MOZ_CRASH_UNSAFE_PRINTF(
-      "Metadata not loaded! readyState=%d networkState=%d",
-      static_cast<int>(mReadyState.Ref()),
-      static_cast<int>(mNetworkState));
-  }
-#endif
-
   // The media backend is responsible for dispatching the timeupdate
   // event if it changes the playback position as a result of the seek.
   LOG(LogLevel::Debug, ("%p SetCurrentTime(%f) starting seek", this, aTime));
   nsresult rv = mDecoder->Seek(aTime, aSeekType);
   if (NS_FAILED(rv)) {
     aRv.Throw(rv);
     return nullptr;
   }
@@ -6048,26 +6037,16 @@ void HTMLMediaElement::ChangeReadyState(
   }
 
   CheckAutoplayDataReady();
 
   if (oldState < nsIDOMHTMLMediaElement::HAVE_ENOUGH_DATA &&
       mReadyState >= nsIDOMHTMLMediaElement::HAVE_ENOUGH_DATA) {
     DispatchAsyncEvent(NS_LITERAL_STRING("canplaythrough"));
   }
-
-#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED
-  if (mReadyState >= nsIDOMHTMLMediaElement::HAVE_METADATA && mDecoder &&
-      !mDecoder->IsMetadataLoaded()) {
-    MOZ_CRASH_UNSAFE_PRINTF(
-      "Metadata not loaded! readyState=%d networkState=%d",
-      static_cast<int>(mReadyState.Ref()),
-      static_cast<int>(mNetworkState));
-  }
-#endif
 }
 
 static const char* const gNetworkStateToString[] = {
   "EMPTY",
   "IDLE",
   "LOADING",
   "NO_SOURCE"
  };
--- a/dom/media/MediaDecoder.h
+++ b/dom/media/MediaDecoder.h
@@ -234,19 +234,16 @@ public:
 
   MediaDecoderStateMachine* GetStateMachine() const;
   void SetStateMachine(MediaDecoderStateMachine* aStateMachine);
 
   // Constructs the time ranges representing what segments of the media
   // are buffered and playable.
   virtual media::TimeIntervals GetBuffered();
 
-  // For debugging bug 1402584.
-  bool IsMetadataLoaded() const { return !!mInfo; }
-
   // Returns the size, in bytes, of the heap memory used by the currently
   // queued decoded video and audio data.
   size_t SizeOfVideoQueue();
   size_t SizeOfAudioQueue();
 
   // Helper struct for accumulating resource sizes that need to be measured
   // asynchronously. Once all references are dropped the callback will be
   // invoked.