blob: 633321c87538c159d6c29a0e2c4cb821ea5a5ea0 [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
enum RTCIceTransportPolicy {
"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"
};
// Nonstandard
// For usage, see transition plan referenced from https://crbug.com/799030
enum SdpSemantics {
"plan-b",
"unified-plan"
};
// 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;
[EnforceRange] octet iceCandidatePoolSize = 0;
// Nonstandard, added for Unified Plan migration
[RuntimeEnabled=RTCUnifiedPlan] SdpSemantics sdpSemantics;
};