Bug 1314886 - Call mozCaptureStream() after "loadedmetadata" in test_streams_element_capture_reset. r?jwwang draft
authorAndreas Pehrson <pehrsons@gmail.com>
Fri, 30 Dec 2016 10:56:49 +0100
changeset 455143 0ab63e020fc4b83d262ee14d471bce126613c6fa
parent 454520 87efd66165ddaa1b97608b92cd651b73c11aca6f
child 540892 df78d313836c681b85c1015ce3caecdc0c26bd04
push id40133
push userbmo:pehrson@telenordigital.com
push dateMon, 02 Jan 2017 12:12:56 +0000
reviewersjwwang
bugs1314886
milestone53.0a1
Bug 1314886 - Call mozCaptureStream() after "loadedmetadata" in test_streams_element_capture_reset. r?jwwang MozReview-Commit-ID: 1i5VIfCWWRy
dom/media/test/test_streams_element_capture_reset.html
--- a/dom/media/test/test_streams_element_capture_reset.html
+++ b/dom/media/test/test_streams_element_capture_reset.html
@@ -12,18 +12,16 @@
 <video id="vout_untilended"></video>
 <pre id="test">
 <script class="testbody" type="text/javascript">
 SimpleTest.waitForExplicitFinish();
 
 var v = document.getElementById('v');
 var vout = document.getElementById('vout');
 var vout_untilended = document.getElementById('vout_untilended');
-vout.srcObject = v.mozCaptureStream();
-vout_untilended.srcObject = v.mozCaptureStreamUntilEnded();
 
 function dumpEvent(event) {
   var v = event.target;
   info(v.name + " GOT EVENT " + event.type +
        " currentTime=" + v.currentTime +
        " paused=" + v.paused +
        " ended=" + v.ended +
        " readyState=" + v.readyState);
@@ -96,27 +94,37 @@ function startTest(test) {
     v.pause();
     v.currentTime = seekTime;
     v.addEventListener("seeked", seeked, false);
   };
 
   v.addEventListener("ended", ended, false);
   vout_untilended.addEventListener("ended", ended, false);
 
-  v.src = test.name;
-  v.name = test.name;
-  v.play();
-
   function checkNoEnded() {
     ok(false, "ended event received unexpectedly");
   };
 
   vout.addEventListener("ended", checkNoEnded, false);
-  vout.play();
-  vout_untilended.play();
+
+  v.src = test.name;
+  v.name = test.name;
+  v.preload = "metadata";
+
+  function loadedmetadata() {
+    vout.srcObject = v.mozCaptureStream();
+    vout.play();
+
+    vout_untilended.srcObject = v.mozCaptureStreamUntilEnded();
+    vout_untilended.play();
+
+    v.play();
+  };
+
+  v.addEventListener("loadedmetadata", loadedmetadata, {once: true});
 }
 
 var testVideo = getPlayableVideo(gSmallTests);
 if (testVideo) {
   startTest(testVideo);
 } else {
   todo(false, "No playable video");
 }