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 fake stream with Cubeb Disabled Test",
bug: "1443525"
});
/**
* Run a test to verify we can still return a fake stream even if we cannot
* get a cubeb context. See also Bug 1434477
*/
runTest(async function () {
info("Get user media with cubeb disabled and fake tracks starting");
// Push prefs to ensure no cubeb context and fake streams
await pushPrefs(["media.cubeb.force_null_context", true],
["media.navigator.streams.fake", true],
['media.audio_loopback_dev', '']);
let testAudio = createMediaElement('audio', 'testAudio');
// 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(false, `Did not expect to fail, but got ${e}`);
return;
}
ok(stream, "getUserMedia should get a stream!");
let playback = new MediaStreamPlayback(testAudio, stream);
await playback.playMedia(false);
});
</script>
</pre>
</body>
</html>