diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /testing/web-platform/tests/webrtc/RTCRtpCapabilities-helper.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/webrtc/RTCRtpCapabilities-helper.js')
-rw-r--r-- | testing/web-platform/tests/webrtc/RTCRtpCapabilities-helper.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webrtc/RTCRtpCapabilities-helper.js b/testing/web-platform/tests/webrtc/RTCRtpCapabilities-helper.js new file mode 100644 index 0000000000..fb297c35fb --- /dev/null +++ b/testing/web-platform/tests/webrtc/RTCRtpCapabilities-helper.js @@ -0,0 +1,52 @@ +'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'); +} |