Source File
bundlepolicy.go
Belonging Package
github.com/pion/webrtc/v4
// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>// SPDX-License-Identifier: MITpackage webrtcimport ()// BundlePolicy affects which media tracks are negotiated if the remote// endpoint is not bundle-aware, and what ICE candidates are gathered. If the// remote endpoint is bundle-aware, all media tracks and data channels are// bundled onto the same transport.type BundlePolicy intconst (// BundlePolicyUnknown is the enum's zero-value.BundlePolicyUnknown BundlePolicy = iota// BundlePolicyBalanced indicates to gather ICE candidates for each// media type in use (audio, video, and data). If the remote endpoint is// not bundle-aware, negotiate only one audio and video track on separate// transports.BundlePolicyBalanced// BundlePolicyMaxCompat indicates to gather ICE candidates for each// track. If the remote endpoint is not bundle-aware, negotiate all media// tracks on separate transports.BundlePolicyMaxCompat// BundlePolicyMaxBundle indicates to gather ICE candidates for only// one track. If the remote endpoint is not bundle-aware, negotiate only// one media track.BundlePolicyMaxBundle)// This is done this way because of a linter.const (bundlePolicyBalancedStr = "balanced"bundlePolicyMaxCompatStr = "max-compat"bundlePolicyMaxBundleStr = "max-bundle")func newBundlePolicy( string) BundlePolicy {switch {case bundlePolicyBalancedStr:return BundlePolicyBalancedcase bundlePolicyMaxCompatStr:return BundlePolicyMaxCompatcase bundlePolicyMaxBundleStr:return BundlePolicyMaxBundledefault:return BundlePolicyUnknown}}func ( BundlePolicy) () string {switch {case BundlePolicyBalanced:return bundlePolicyBalancedStrcase BundlePolicyMaxCompat:return bundlePolicyMaxCompatStrcase BundlePolicyMaxBundle:return bundlePolicyMaxBundleStrdefault:return ErrUnknownType.Error()}}// UnmarshalJSON parses the JSON-encoded data and stores the result.func ( *BundlePolicy) ( []byte) error {var stringif := json.Unmarshal(, &); != nil {return}* = newBundlePolicy()return nil}// MarshalJSON returns the JSON encoding.func ( BundlePolicy) () ([]byte, error) {return json.Marshal(.String())}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |