tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_SeekedEvent_mp4.html (1694B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <title>MSE: Check that seeked event is fired prior loadeddata</title>
      5  <script src="/tests/SimpleTest/SimpleTest.js"></script>
      6  <script type="text/javascript" src="mediasource.js"></script>
      7  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
      8 </head>
      9 <body>
     10 <pre id="test">
     11 <script class="testbody" type="text/javascript">
     12 
     13 SimpleTest.waitForExplicitFinish();
     14 
     15 runWithMSE(async (ms, el) => {
     16  el.controls = true;
     17  const events = ["seeked", "loadeddata", "playing"];
     18  let eventCount = 0;
     19  events.forEach(type => el.addEventListener(type,
     20      () => is(events[eventCount++], type, "events must come in order")));
     21  await once(ms, "sourceopen");
     22  ok(true, "Receive a sourceopen event");
     23  const videosb = ms.addSourceBuffer("video/mp4");
     24  is(el.readyState, el.HAVE_NOTHING, "readyState is HAVE_NOTHING");
     25  let p = once(el, "loadedmetadata");
     26  await fetchAndLoad(videosb, "bipbop/bipbop_video", ["init"], ".mp4");
     27  await p;
     28  el.play();
     29  videosb.timestampOffset = 2;
     30  is(el.readyState, el.HAVE_METADATA, "readyState is HAVE_METADATA");
     31  // Load [2, 3.606).
     32  p = once(el, "play");
     33  await fetchAndLoad(videosb, "bipbop/bipbop_video", ["1"], ".m4s");
     34  await p;
     35  await fetchAndLoad(videosb, "bipbop/bipbop_video", ["2"], ".m4s");
     36  // TODO: readyState should be at least HAVE_CURRENTDATA, see bug 1367993.
     37  ok(el.readyState >= el.HAVE_METADATA, "readyState is HAVE_METADATA");
     38  el.currentTime = 2;
     39  await Promise.all([once(el, "seeked"), once(el, "playing")]);
     40  ok(true, "completed seek");
     41  is(eventCount, events.length, "Received expected number of events");
     42  SimpleTest.finish();
     43 });
     44 
     45 </script>
     46 </pre>
     47 </body>
     48 </html>