blob: 452183b079cc1b202f4e972a93df13d86b3578ce [file] [log] [blame]
<!doctype html>
<html>
<head>
<title>MediaRecorder video bitrate</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<script>
async function record(bitRate)
{
const stream = await navigator.mediaDevices.getUserMedia({ video : { width : 1024 } });
const recorder = new MediaRecorder(stream, { videoBitsPerSecond : bitRate });
const promise = new Promise((resolve, reject) => {
let count = 0;
let blobs = [];
recorder.ondataavailable = (e) => resolve(e.data);
setTimeout(() => reject("datavailable event timed out"), 15000);
});
recorder.start();
setTimeout(() => recorder.stop(), 1000);
return promise;
}
promise_test(async (t) => {
let blobs = [0, 0];
blobs[0] = await record(50000);
blobs[1] = await record(5000000);
// We are taking the second blob since it might be more accurate than the first one.
assert_greater_than(blobs[0].size, 0, "blob0");
assert_greater_than(blobs[1].size, blobs[0].size, "blob2");
}, "Various video bitrates");
</script>
</body>
</html>