mirror of
https://github.com/servo/servo.git
synced 2025-07-30 10:40:27 +01:00
47 lines
1.5 KiB
HTML
47 lines
1.5 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>RTCRtpParameters encodings</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/webrtc/dictionary-helper.js"></script>
|
|
<script src="/webrtc/RTCRtpParameters-helper.js"></script>
|
|
<script>
|
|
'use strict';
|
|
|
|
// Test is based on the following editor draft:
|
|
// https://w3c.github.io/webrtc-svc/
|
|
|
|
// Get the first encoding in param.encodings.
|
|
// Asserts that param.encodings has at least one element.
|
|
function getFirstEncoding(param) {
|
|
const { encodings } = param;
|
|
assert_equals(encodings.length, 1);
|
|
return encodings[0];
|
|
}
|
|
|
|
promise_test(async t => {
|
|
const pc = new RTCPeerConnection();
|
|
t.add_cleanup(() => pc.close());
|
|
const { sender } = pc.addTransceiver('video', {
|
|
sendEncodings: [{scalabilityMode: 'L1T3'}],
|
|
});
|
|
|
|
const param = sender.getParameters();
|
|
const encoding = getFirstEncoding(param);
|
|
|
|
assert_equals(encoding.scalabilityMode, 'L1T3');
|
|
|
|
}, `Setting scalabilityMode to a legal value should be accepted`);
|
|
|
|
promise_test(async t => {
|
|
const capabilities = RTCRtpSender.getCapabilities('video');
|
|
var svcSupported = false;
|
|
for (const codec of capabilities.codecs) {
|
|
if ('scalabilityModes' in codec && codec.scalabilityModes.length > 0) {
|
|
svcSupported = true;
|
|
}
|
|
}
|
|
assert_true(svcSupported);
|
|
}, `Sender capabilities should include at least some scalability modes`);
|
|
|
|
</script>
|