blob: bbe1b573c019d9638c32498d5076341c661cde68 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://w3c.github.io/webrtc-pc/#rtcicetransportpolicy-enum
// TODO(foolip): The spec does not have the "none" value.
// https://crbug.com/659134
enum RTCIceTransportPolicy {
"none",
"relay",
"all"
};
// https://w3c.github.io/webrtc-pc/#rtcbundlepolicy-enum
enum RTCBundlePolicy {
"balanced",
"max-compat",
"max-bundle"
};
// https://w3c.github.io/webrtc-pc/#rtcrtcpmuxpolicy-enum
enum RTCRtcpMuxPolicy {
"negotiate",
"require"
};
// https://w3c.github.io/webrtc-pc/#rtcconfiguration-dictionary
dictionary RTCConfiguration {
sequence<RTCIceServer> iceServers;
// TODO(foolip): |iceTransportPolicy| default should be "all", but it is
// omitted to allow fallback to |iceTransports| if not specified.
RTCIceTransportPolicy iceTransportPolicy;
// TODO(foolip): |iceTransports| is not in the spec.
// https://crbug.com/659131
RTCIceTransportPolicy iceTransports;
RTCBundlePolicy bundlePolicy = "balanced";
RTCRtcpMuxPolicy rtcpMuxPolicy = "require";
// TODO(foolip): DOMString peerIdentity;
sequence<RTCCertificate> certificates;
// TODO(foolip): unsigned short iceCandidatePoolSize = 0;
};