Bug 1340760: P4. Never use WMF decoders when low latency is required. r?gerald draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Tue, 21 Feb 2017 17:07:28 +0100
changeset 487606 512f3a2cc92daa0496d52ac4ccefdfe2fa5743cb
parent 487605 eeedfee9b68598c4dcc8b3b709b6b6ed3c957e58
child 487607 edda68c52745d0ff239cf54b1c20d6732e5ad0b8
push id46263
push userbmo:jyavenard@mozilla.com
push dateTue, 21 Feb 2017 21:09:07 +0000
reviewersgerald
bugs1340760
milestone54.0a1
Bug 1340760: P4. Never use WMF decoders when low latency is required. r?gerald We will revisit once VP9 hardware decoders on Windows can be assessed. MozReview-Commit-ID: CXL2M45D2x7
dom/media/platforms/wmf/WMFDecoderModule.cpp
--- a/dom/media/platforms/wmf/WMFDecoderModule.cpp
+++ b/dom/media/platforms/wmf/WMFDecoderModule.cpp
@@ -74,16 +74,22 @@ WMFDecoderModule::Startup()
 {
   mWMFInitialized = SUCCEEDED(wmf::MFStartup());
   return mWMFInitialized ? NS_OK : NS_ERROR_FAILURE;
 }
 
 already_AddRefed<MediaDataDecoder>
 WMFDecoderModule::CreateVideoDecoder(const CreateDecoderParams& aParams)
 {
+  if (aParams.mOptions.contains(CreateDecoderParams::Option::LowLatency)) {
+    // Latency on Windows is bad. Let's not attempt to decode with WMF decoders
+    // when low latency is required.
+    return nullptr;
+  }
+
   nsAutoPtr<WMFVideoMFTManager> manager(
     new WMFVideoMFTManager(aParams.VideoConfig(),
                            aParams.mKnowsCompositor,
                            aParams.mImageContainer,
                            sDXVAEnabled));
 
   if (!manager->Init()) {
     return nullptr;