зеркало из https://github.com/mozilla/gecko-dev.git
73 строки
2.5 KiB
HTML
73 строки
2.5 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Test events of media track interfaces</title>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
<script type="text/javascript" src="manifest.js"></script>
|
|
</head>
|
|
<body>
|
|
<pre id="test">
|
|
<script class="testbody" type="text/javascript">
|
|
|
|
var manager = new MediaTestManager;
|
|
|
|
function localCheckMetadata(msg, e) {
|
|
ok(msg in gOggTrackInfoResults, "File: " + msg + " is in pre-parsed gOggTrackInfoResults list");
|
|
var r = gOggTrackInfoResults[msg];
|
|
|
|
var hasExpectedAudio = r && r.hasOwnProperty("audio_id");
|
|
var hasExpectedVideo = r && r.hasOwnProperty("video_id");
|
|
|
|
var hasParsedAudio = e.audioTracks.length >= 1;
|
|
var hasParsedVideo = e.videoTracks.length >= 1;
|
|
|
|
ok(!(hasExpectedAudio ^ hasParsedAudio), "Check availability of expected/parsed audio");
|
|
ok(!(hasExpectedVideo ^ hasParsedVideo), "Check availability of expected/parsed video");
|
|
if (hasParsedAudio) {
|
|
is(e.audioTracks.length, 1, "The length of audio track should be 1");
|
|
is(e.audioTracks[0].id, r.audio_id, "File: " + msg + ", Audio track id");
|
|
is(e.audioTracks[0].kind, r.audio_kind, "File: " + msg + ", Audio track kind");
|
|
is(e.audioTracks[0].language, r.audio_language, "File: " + msg + ", Audio track language");
|
|
is(e.audioTracks[0].label, r.audio_label, "File: " + msg + ", Audio track label");
|
|
}
|
|
if (hasParsedVideo) {
|
|
is(e.videoTracks.length, 1, "The length of video track should be 1");
|
|
is(e.videoTracks[0].id, r.video_id, "File: " + msg + ", Video track id");
|
|
is(e.videoTracks[0].kind, r.video_kind, "File: " + msg + ", Video track kind");
|
|
is(e.videoTracks[0].language, r.video_language, "File: " + msg + ", Video track language");
|
|
is(e.videoTracks[0].label, r.video_label, "File: " + msg + ", Video track label");
|
|
}
|
|
}
|
|
|
|
function startTest(test, token) {
|
|
var v = document.createElement('video');
|
|
v.preload = "metadata";
|
|
v.token = token;
|
|
manager.started(token);
|
|
|
|
v.src = test.name;
|
|
v.name = test.name;
|
|
|
|
v.onloadedmetadata = function(evt) {
|
|
localCheckMetadata(evt.target.name, evt.target);
|
|
evt.target.finished = true;
|
|
evt.target.onloadedmetadata = null;
|
|
removeNodeAndSource(evt.target);
|
|
manager.finished(evt.target.token);
|
|
};
|
|
|
|
document.body.appendChild(v);
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
SpecialPowers.pushPrefEnv({"set": [["media.track.enabled", true]]},
|
|
function() {
|
|
manager.runTests(gMultitrackInfoOggPlayList, startTest);
|
|
}
|
|
);
|
|
</script>
|
|
</pre>
|
|
</body>
|
|
</html>
|