Bug 1362165: P5. Don't assume that when stalling all data has been loaded. r=gerald
authorJean-Yves Avenard <jyavenard@mozilla.com>
Fri, 28 Apr 2017 17:18:43 +0200
changeset 409397 bb63055aef6c9842e8fa7370071eb22c9d2ecbc3
parent 409396 5334cc6d0ea9b47325f4d6fcf4dab59307d12d55
child 409398 55f7558b7c52281d3d8fc5e1cea26963b0cb2585
push id7391
push usermtabara@mozilla.com
push dateMon, 12 Jun 2017 13:08:53 +0000
treeherdermozilla-beta@2191d7f87e2e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgerald
bugs1362165
milestone55.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 1362165: P5. Don't assume that when stalling all data has been loaded. r=gerald The stalled event can be fired as playback is starting and data has yet to be processed. So instead we wait for playback to reach the end. MozReview-Commit-ID: 4W3M5tee2HD
dom/media/mediasource/test/test_MediaSource_memory_reporting.html
--- a/dom/media/mediasource/test/test_MediaSource_memory_reporting.html
+++ b/dom/media/mediasource/test/test_MediaSource_memory_reporting.html
@@ -9,17 +9,17 @@
 <body>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 
 SimpleTest.waitForExplicitFinish();
 
 runWithMSE(function (ms, v) {
   // Test that memory reporting works once we've played a video.
-  once(v, "stalled", () => {
+  once(v, "ended", () => {
     // Grab a memory report.
     var mgr = SpecialPowers.Cc["@mozilla.org/memory-reporter-manager;1"]
           .getService(SpecialPowers.Ci.nsIMemoryReporterManager);
 
     var amount = 0;
     var resourcesPathSeen = false;
     var handleReport = function(aProcess, aPath, aKind, aUnits, aAmount, aDesc) {
       if (aPath == "explicit/media/resources") {
@@ -36,16 +36,19 @@ runWithMSE(function (ms, v) {
     }
 
     mgr.getReports(handleReport, null, finished, null, /* anonymized = */ false);
   });
 
   // Load a webm video and play it.
   ms.addEventListener("sourceopen", () => {
     var sb = ms.addSourceBuffer("video/webm");
-    fetchAndLoad(sb, 'seek', [''], '.webm').then(() => v.play());
+    fetchAndLoad(sb, 'seek', [''], '.webm').then(function() {
+      ms.endOfStream();
+      v.play()
+    });
   });
 });
 
 </script>
 </pre>
 </body>
 </html>