blob: 393f6c3192053281660d5edae6b181c483c8002d [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src=../media-file.js></script>
<script src=../video-test.js></script>
<script>
var addtrackEventCount = 0;
var seekedCount = 0;
var cuesStarts = [];
function trackAdded(event)
{
consoleWrite("EVENT(" + event.type + ")");
compareTracks("event.track", "video.textTracks[" + addtrackEventCount + "]");
++addtrackEventCount;
consoleWrite("");
}
function compareTracks(track1, track2)
{
var equal = (eval(track1) == eval(track2));
reportExpected(equal, track1, "==", track2, track1);
}
function pollProgress()
{
if (video.currentTime < 2)
return;
testExpected("inbandTrack1.cues.length", 0, ">");
if (!seekedCount) {
// Collect the start times of all cues, seek back to the beginning and play
// the same segment of the video file.
run("video.pause()");
for (var i = 0; i < inbandTrack1.cues.length; ++i)
cuesStarts.push(inbandTrack1.cues[i].startTime);
run("video.currentTime = 0");
run("video.play()");
consoleWrite("");
return;
}
run("video.pause()");
for (var i = 0; i < cuesStarts.length; ++i) {
if (cuesStarts[i] != inbandTrack1.cues[i].startTime)
logResult(false, "Found unexpected cue starting at " + inbandTrack1.cues[i].startTime);
}
endTest();
}
function canplaythrough()
{
video.textTracks.removeEventListener("addtrack", trackAdded, false);
consoleWrite("<br><i>** Check initial in-band track states<" + "/i>");
testExpected("video.textTracks.length", 1);
run("inbandTrack1 = video.textTracks[0]");
testExpected("inbandTrack1.mode", "disabled");
testExpected("inbandTrack1.cues", null);
testExpected("inbandTrack1.language", "en");
testExpected("inbandTrack1.kind", "captions");
consoleWrite("");
waitForEvent('seeked', function() { ++seekedCount; });
setInterval(pollProgress, 100);
run("inbandTrack1.mode = 'showing'");
run("video.play()");
}
function setup()
{
findMediaElement();
video.textTracks.addEventListener("addtrack", trackAdded);
video.src = '../content/counting-captioned.mov';
waitForEvent('canplaythrough', canplaythrough);
}
</script>
</head>
<body onload="setup()">
<video controls></video>
<p>In-band text tracks.</p>
</body>
</html>