Bug 1402584. P1 - Backed out changeset 442e8020e2ac. draft
authorJW Wang <jwwang@mozilla.com>
Sat, 07 Oct 2017 07:58:19 +0800
changeset 676408 8a174796d5edcebe6334f2d5ca9bf3355edf5de9
parent 676397 6b0491f83229a80462793c74825f79b1ec1d9cda
child 676409 d721710e6de941ed44c7f0cca974da6ebf705582
push id83472
push userjwwang@mozilla.com
push dateSat, 07 Oct 2017 11:01:39 +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
@@ -235,19 +235,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.