mirror of
https://github.com/pion/webrtc.git
synced 2026-04-22 23:17:18 +08:00
332878fa2c
This change implements a new Configuration.AlwaysNegotiateDataChannels flag that forces an "application" (data/SCTP) media section to be present in SDP offers even before any DataChannel is created. This is implementation of WebRTC Extensions section 15, "Always negotiating data channels".
46 lines
1.5 KiB
Go
46 lines
1.5 KiB
Go
// SPDX-FileCopyrightText: 2026 The Pion community <https://pion.ly>
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
//go:build js && wasm
|
|
// +build js,wasm
|
|
|
|
package webrtc
|
|
|
|
// Configuration defines a set of parameters to configure how the
|
|
// peer-to-peer communication via PeerConnection is established or
|
|
// re-established.
|
|
type Configuration struct {
|
|
// ICEServers defines a slice describing servers available to be used by
|
|
// ICE, such as STUN and TURN servers.
|
|
ICEServers []ICEServer
|
|
|
|
// ICETransportPolicy indicates which candidates the ICEAgent is allowed
|
|
// to use.
|
|
ICETransportPolicy ICETransportPolicy
|
|
|
|
// BundlePolicy indicates which media-bundling policy to use when gathering
|
|
// ICE candidates.
|
|
BundlePolicy BundlePolicy
|
|
|
|
// RTCPMuxPolicy indicates which rtcp-mux policy to use when gathering ICE
|
|
// candidates.
|
|
RTCPMuxPolicy RTCPMuxPolicy
|
|
|
|
// PeerIdentity sets the target peer identity for the PeerConnection.
|
|
// The PeerConnection will not establish a connection to a remote peer
|
|
// unless it can be successfully authenticated with the provided name.
|
|
PeerIdentity string
|
|
|
|
// Certificates are not supported in the JavaScript/Wasm bindings.
|
|
// Certificates []Certificate
|
|
|
|
// ICECandidatePoolSize describes the size of the prefetched ICE pool.
|
|
ICECandidatePoolSize uint8
|
|
|
|
// AlwaysNegotiateDataChannels specifies whether the application prefers
|
|
// to always negotiate data channels in the initial SDP offer.
|
|
AlwaysNegotiateDataChannels bool
|
|
|
|
Certificates []Certificate `json:"certificates,omitempty"`
|
|
}
|