gecko-dev/testing/web-platform/tests/webrtc/RTCRtpCapabilities-helper.js
Florent Castelli 80caa35396 Bug 1475092 [wpt PR 11924] - Implement RTCRtpSender/Receiver.getCapabilities(), a=testonly
Automatic update from web-platform-testsImplement RTCRtpSender/Receiver.getCapabilities()

Intent: https://groups.google.com/a/chromium.org/d/msg/blink-dev/_ktwAuFRUAg/mh_ECO41AQAJ

Bug: 857451
Change-Id: I8c1973e0346a9db71c4dc1fbfc82e3396c48c5ad
Reviewed-on: https://chromium-review.googlesource.com/1133386
Commit-Queue: Florent Castelli <orphis@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576562}

--

wpt-commits: 408b82af9267126a33d65e5b4c34dc26145df936
wpt-pr: 11924
2018-07-29 18:52:49 +01:00

52 lines
1.5 KiB
JavaScript

'use strict'
// Test is based on the following editor draft:
// https://w3c.github.io/webrtc-pc/archives/20170605/webrtc.html
// This file depends on dictionary-helper.js which should
// be loaded from the main HTML file.
/*
5.2. RTCRtpSender Interface
dictionary RTCRtpCapabilities {
sequence<RTCRtpCodecCapability> codecs;
sequence<RTCRtpHeaderExtensionCapability> headerExtensions;
};
dictionary RTCRtpCodecCapability {
DOMString mimeType;
unsigned long clockRate;
unsigned short channels;
DOMString sdpFmtpLine;
};
dictionary RTCRtpHeaderExtensionCapability {
DOMString uri;
};
*/
function validateRtpCapabilities(capabilities) {
assert_array_field(capabilities, 'codecs');
for(const codec of capabilities.codecs) {
validateCodecCapability(codec);
}
assert_greater_than(capabilities.codecs.length, 0,
'Expect at least one codec capability available');
assert_array_field(capabilities, 'headerExtensions');
for(const headerExt of capabilities.headerExtensions) {
validateHeaderExtensionCapability(headerExt);
}
}
function validateCodecCapability(codec) {
assert_optional_string_field(codec, 'mimeType');
assert_optional_unsigned_int_field(codec, 'clockRate');
assert_optional_unsigned_int_field(codec, 'channels');
assert_optional_string_field(codec, 'sdpFmtpLine');
}
function validateHeaderExtensionCapability(headerExt) {
assert_optional_string_field(headerExt, 'uri');
}