| // 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; |
| }; |