Bug 1256626: P2. Use NotifyBenchmarkResult to save VP9 result. r?jimm draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Thu, 17 Mar 2016 17:20:21 +1100
changeset 341495 2c83296c612a2d436c13eb0b2f95c3cdf0a3adb5
parent 341494 1345b3fe9ad520c94b7e3788cceb38f83ef2c828
child 516405 0b99d78f3894021a2a40e14ea2348bc8d028ebf0
push id13225
push userbmo:jyavenard@mozilla.com
push dateThu, 17 Mar 2016 06:23:12 +0000
reviewersjimm
bugs1256626
milestone48.0a1
Bug 1256626: P2. Use NotifyBenchmarkResult to save VP9 result. r?jimm MozReview-Commit-ID: privnKY1zB
dom/media/Benchmark.cpp
--- a/dom/media/Benchmark.cpp
+++ b/dom/media/Benchmark.cpp
@@ -7,16 +7,17 @@
 #include "Benchmark.h"
 #include "BufferMediaResource.h"
 #include "MediaData.h"
 #include "PDMFactory.h"
 #include "WebMDemuxer.h"
 #include "WebMSample.h"
 #include "mozilla/Preferences.h"
 #include "mozilla/Telemetry.h"
+#include "mozilla/dom/ContentChild.h"
 
 namespace mozilla {
 
 const char* VP9Benchmark::sBenchmarkFpsPref = "media.benchmark.vp9.fps";
 bool VP9Benchmark::sHasRunTest = false;
 
 bool
 VP9Benchmark::IsVP9DecodeFast()
@@ -40,17 +41,25 @@ VP9Benchmark::IsVP9DecodeFast()
                       1, // start benchmarking after decoding this frame.
                       8, // loop after decoding that many frames.
                       TimeDuration::FromMilliseconds(
                         Preferences::GetUint("media.benchmark.timeout", 1000))
                     });
     estimiser->Run()->Then(
       AbstractThread::MainThread(), __func__,
       [](uint32_t aDecodeFps) {
-        Preferences::SetUint(sBenchmarkFpsPref, aDecodeFps);
+        if (XRE_IsContentProcess()) {
+          dom::ContentChild* contentChild = dom::ContentChild::GetSingleton();
+          if (contentChild) {
+            contentChild->SendNotifyBenchmarkResult(NS_LITERAL_STRING("VP9"),
+                                                    aDecodeFps);
+          }
+        } else {
+          Preferences::SetUint(sBenchmarkFpsPref, aDecodeFps);
+        }
         Telemetry::Accumulate(Telemetry::ID::VIDEO_VP9_BENCHMARK_FPS, aDecodeFps);
       },
       []() { });
   }
 
   if (!hasPref) {
     return false;
   }