Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<html>
<head>
<script type="application/javascript" src="mediaStreamPlayback.js"></script>
</head>
<body>
<pre id="test">
<script type="application/javascript">
createHTML({
title: "getUserMedia in media element should have video dimensions on loadedmetadata",
bug: "1240478"
});
/**
* Tests that assigning a stream to a media element results in the
* "loadedmetadata" event without having to play() the media element.
*
* Also makes sure that the video size has been set on "loadedmetadata".
*/
runTest(function () {
var v = document.createElement("video");
document.body.appendChild(v);
v.preload = "metadata";
var constraints = {video: true, audio: true};
return getUserMedia(constraints).then(stream => new Promise(resolve => {
v.srcObject = stream;
v.onloadedmetadata = () => {
isnot(v.videoWidth, 0, "videoWidth shall be set on 'loadedmetadata'");
isnot(v.videoHeight, 0, "videoHeight shall be set on 'loadedmetadata'");
resolve();
};
})
.then(() => stream.getTracks().forEach(t => t.stop())));
});
</script>
</pre>
</body>
</html>