diff options
Diffstat (limited to 'dom/media/test/reftest/incorrect_display_in_bytestream_vp9.html')
-rw-r--r-- | dom/media/test/reftest/incorrect_display_in_bytestream_vp9.html | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/dom/media/test/reftest/incorrect_display_in_bytestream_vp9.html b/dom/media/test/reftest/incorrect_display_in_bytestream_vp9.html new file mode 100644 index 0000000000..7d0e9404d5 --- /dev/null +++ b/dom/media/test/reftest/incorrect_display_in_bytestream_vp9.html @@ -0,0 +1,33 @@ +<!DOCTYPE HTML> +<html class="reftest-wait"> +<head> +</head> +<body> +<video id="v" style="position:absolute; left:0; top:0"></video> +<canvas id="canvas" style="position:absolute; left:0; top:0"></video> +<script type="text/javascript"> +/** + * The display information in the VP9 byte stream is different from the display + * information in the container, and it's the incorrect one, which doesn't honer + * the original DAR. This test is used to check whether we will display the + * video frame in correct DAR. + */ +async function testDisplayRatioForVP9() { + const video = document.getElementById("v"); + video.src = "incorrect_display_in_bytestream_vp9.webm"; + await new Promise(r => video.oncanplay = r); + // Since our media pipeline sends the frame to imageBridge, the target frame + // may not be shown on the screen yet. So using canvas to access the target + // frame in the imageContainer in videoElement. + const canvas = document.getElementById("canvas"); + canvas.width = video.videoWidth; + canvas.height = video.videoHeight; + const ctx = canvas.getContext("2d"); + ctx.drawImage(video, 0, 0, video.videoWidth, video.videoHeight); + document.documentElement.removeAttribute('class'); +}; + +window.addEventListener("MozReftestInvalidate", testDisplayRatioForVP9); +</script> +</body> +</html> |