Bug 1136984 - Always call DrainComplete in response to Drain, even if it wasn't called on the active decoder. r=cpearce
authorMatt Woodrow <mwoodrow@mozilla.com>
Fri, 27 Feb 2015 11:47:12 +1300
changeset 231105 e82e8809d250c838cb785d92a82451a6381cabd7
parent 231104 4b19506f6313dce0c0f638f248edef1ca2363bac
child 231106 6fb710e791fa5c299b55047e4e14f659e61cfdda
push id28344
push userryanvm@gmail.com
push dateFri, 27 Feb 2015 18:20:08 +0000
treeherdermozilla-central@9dd9d1e5b43c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerscpearce
bugs1136984
milestone39.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1136984 - Always call DrainComplete in response to Drain, even if it wasn't called on the active decoder. r=cpearce
dom/media/fmp4/SharedDecoderManager.cpp
--- a/dom/media/fmp4/SharedDecoderManager.cpp
+++ b/dom/media/fmp4/SharedDecoderManager.cpp
@@ -191,18 +191,20 @@ SharedDecoderProxy::Flush()
   return NS_OK;
 }
 
 nsresult
 SharedDecoderProxy::Drain()
 {
   if (mManager->mActiveProxy == this) {
     return mManager->mDecoder->Drain();
+  } else {
+    mCallback->DrainComplete();
+    return NS_OK;
   }
-  return NS_OK;
 }
 
 nsresult
 SharedDecoderProxy::Shutdown()
 {
   mManager->SetIdle(this);
   return NS_OK;
 }