Bug 1322739: 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 487904 6cbe72a43f768e8f13ab642224ece047f7bef627
parent 487903 aaee8032365dc9086f5439d032863cf20b6478df
child 546614 3af5e54e11779bd2e5318f2d34dd5ce3aa1663b8
push id46398
push userbmo:jyavenard@mozilla.com
push dateWed, 22 Feb 2017 11:26:39 +0000
reviewersgerald
bugs1322739
milestone54.0a1
Bug 1322739: 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;