blob: 921259de333957c0bfe047a94d0d168d4fa55bce [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../resources/webgl-test-utils-full.js"></script>
<script src="../resources/tex-image-and-sub-image-utils.js"></script>
<script src="../../../resources/js-test.js"></script>
<script>
window.jsTestIsAsync = true;
var wtu = WebGLTestUtils;
var tiu = TexImageUtils;
var gl = null;
var video, canvas;
function pass()
{
document.getElementById("results").innerHTML = "Test <span style='color:green'>PASSED</span>";
}
function runTest()
{
var texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, video);
var passing = true;
passing &= texture.lastUploadedVideoHeight === 64;
passing &= texture.lastUploadedVideoWidth === 64;
passing &= Math.abs(texture.lastUploadedVideoTimestamp - 2.0) < 0.001;
passing &= texture.lastUploadedVideoFrameWasSkipped === false;
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, video);
passing &= texture.lastUploadedVideoFrameWasSkipped === true;
if (passing) {
pass();
}
finishJSTest();
}
function init()
{
if (window.testRunner) {
testRunner.dumpAsText();
}
video = document.getElementById("video");
canvas = document.getElementById("example");
gl = canvas.getContext("webgl");
video.oncanplaythrough = function() {
video.oncanplaythrough = runTest;
video.currentTime = 2.0;
};
video.src = "../resources/red-green.ogv";
}
</script>
</head>
<body onload="init()">
<video id="video"></video>
<canvas id="example" width="32" height="32"></canvas>
<div id="results">Test <span style="color:red">FAILED</span></div>
</body>
</html>