blob: c9c949f8a5e167893c04c0a1a9771746cd88327e [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Testing getParameters on a basic video exchange</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
</head>
<body>
<script src ="routines.js"></script>
<script>
var firstConnection, secondConnection;
promise_test((test) => {
if (window.testRunner)
testRunner.setUserMediaPermission(true);
var sender, receiver;
var localStream, remoteStream;
return navigator.mediaDevices.getUserMedia({ video: true}).then((stream) => {
localStream = stream;
return new Promise((resolve, reject) => {
createConnections((connection) => {
firstConnection = connection;
sender = firstConnection.addTrack(stream.getVideoTracks()[0], stream);
}, (connection) => {
secondConnection = connection;
receiver = secondConnection.addTransceiver("video").receiver;
secondConnection.ontrack = (trackEvent) => {
remoteStream = trackEvent.streams[0];
resolve();
};
});
setTimeout(() => reject("Test timed out"), 5000);
});
}).then(() => {
assert_true(!!sender, "sender should not be undefined");
assert_true(!!receiver, "receiver should not be undefined");
var senderParameters = sender.getParameters();
var receiverParameters = receiver.getParameters();
assert_true(!!senderParameters, "sender parameters should not be undefined or null");
assert_true(!!receiverParameters, "receiver parameters should not be undefined or null");
senderParameters.encodings[0].fec.ssrc = 1;
senderParameters.encodings[0].rtx.ssrc = 1;
receiverParameters.encodings[0].fec.ssrc = 1;
receiverParameters.encodings[0].rtx.ssrc = 1;
assert_equals(JSON.stringify(senderParameters), JSON.stringify(receiverParameters), "testing sender vs. receiver parameters");
senderParameters.encodings[0].ssrc = 1;
assert_equals(JSON.stringify(senderParameters), '{"codecs":[],"degradationPreference":"balanced","encodings":[{"active":true,"dtx":"disabled","fec":{"ssrc":1},"maxBitrate":0,"maxFramerate":0,"priority":"medium","rid":"","rtx":{"ssrc":1},"scaleResolutionDownBy":1,"ssrc":1}],"headerExtensions":[],"transactionId":""}', "Testing sanitized parameters");
});
}, "Basic video stats");
</script>
</body>
</html>