Media fragment parser

This commit is contained in:
sreeise 2019-07-12 06:31:27 -04:00
parent 95b304b786
commit dc11219496
7 changed files with 464 additions and 11 deletions

View file

@ -348626,6 +348626,12 @@
{}
]
],
"html/semantics/embedded-content/media-elements/media_fragment_seek.html": [
[
"html/semantics/embedded-content/media-elements/media_fragment_seek.html",
{}
]
],
"html/semantics/embedded-content/media-elements/mime-types/canPlayType.html": [
[
"html/semantics/embedded-content/media-elements/mime-types/canPlayType.html",
@ -626132,6 +626138,10 @@
"cd1ebb9e492673feb095a227e7ca04ceae7643b9",
"testharness"
],
"html/semantics/embedded-content/media-elements/media_fragment_seek.html": [
"d6f6e6c30bf89cbb87c7fbab1529973aa69b03f6",
"testharness"
],
"html/semantics/embedded-content/media-elements/mime-types/canPlayType.html": [
"56edf25aa8fb93c66fbbad5bbfb2e9652e7297d0",
"testharness"

View file

@ -0,0 +1,48 @@
<!doctype html>
<meta charset="utf-8">
<title>Video should seek to time specified in media fragment syntax</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/common/media.js"></script>
<div id="log"></div>
<video id="video"></video>
<script>
async_test(function () {
let video = document.getElementById("video");
video.src = getVideoURI('/media/movie_5') + "#t=4,7";
video.load();
this.step_timeout(function () {
assert_equals(video.currentTime, 4.0);
video.src = getVideoURI('/media/movie_5') + "#t=%6Ept:3";
video.load();
this.step_timeout(function () {
assert_true(video.src.endsWith("t=%6Ept:3"));
assert_equals(video.currentTime, 3.0);
video.src = getVideoURI('/media/movie_5') + "#t=00:00:01.00";
video.load();
this.step_timeout(function () {
assert_true(video.src.endsWith("t=00:00:01.00"));
assert_equals(video.currentTime, 1.0);
video.src = getVideoURI('/media/movie_5') + "#u=12&t=3";
video.load();
this.step_timeout(function () {
assert_true(video.src.endsWith("#u=12&t=3"));
assert_equals(video.currentTime, 3.0);
video.src = getVideoURI('/media/movie_5') + "#t=npt%3A3";
video.load();
this.step_timeout(function () {
assert_true(video.src.endsWith("t=npt%3A3"));
assert_equals(video.currentTime, 3.0);
this.done();
}, 1000);
}, 1000);
}, 1000);
}, 1000);
}, 1000);
});
</script>