mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-10 13:18:45 +02:00
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
52 lines
1.5 KiB
JavaScript
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');
|
|
}
|