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 with Cubeb Disabled Test",
bug: "1443525"
});
/**
* Run a test to verify we fail gracefully if we cannot fetch a cubeb context
* during a gUM call.
*/
runTest(async function () {
info("Get user media with cubeb disabled starting");
// Push prefs to ensure no cubeb context and no fake streams.
await pushPrefs(["media.cubeb.force_null_context", true],
["media.navigator.permission.device", false],
["media.navigator.streams.fake", false]);
// Request audio only, to avoid cams
let constraints = {audio: true, video: false};
let stream;
try {
stream = await getUserMedia(constraints);
} catch (e) {
// We've got no audio backend, so we expect gUM to fail.
ok(e.name == "NotFoundError", "Expected NotFoundError due to no audio tracks!");
return;
}
// If we're not on android we should not have gotten a stream without a cubeb context!
ok(false, "getUserMedia not expected to succeed when cubeb is disabled, but it did!");
});
</script>
</pre>
</body>
</html>