зеркало из https://github.com/mozilla/gecko-dev.git
40 строки
1.1 KiB
HTML
40 строки
1.1 KiB
HTML
<!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>
|