直播:后台 JWT 推流、前台画中画;WebRTC 服务与 Nginx WebSocket 代理
Made-with: Cursor
This commit is contained in:
50
server/vendor/github.com/pion/webrtc/v3/icecomponent.go
generated
vendored
Normal file
50
server/vendor/github.com/pion/webrtc/v3/icecomponent.go
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package webrtc
|
||||
|
||||
// ICEComponent describes if the ice transport is used for RTP
|
||||
// (or RTCP multiplexing).
|
||||
type ICEComponent int
|
||||
|
||||
const (
|
||||
// ICEComponentRTP indicates that the ICE Transport is used for RTP (or
|
||||
// RTCP multiplexing), as defined in
|
||||
// https://tools.ietf.org/html/rfc5245#section-4.1.1.1. Protocols
|
||||
// multiplexed with RTP (e.g. data channel) share its component ID. This
|
||||
// represents the component-id value 1 when encoded in candidate-attribute.
|
||||
ICEComponentRTP ICEComponent = iota + 1
|
||||
|
||||
// ICEComponentRTCP indicates that the ICE Transport is used for RTCP as
|
||||
// defined by https://tools.ietf.org/html/rfc5245#section-4.1.1.1. This
|
||||
// represents the component-id value 2 when encoded in candidate-attribute.
|
||||
ICEComponentRTCP
|
||||
)
|
||||
|
||||
// This is done this way because of a linter.
|
||||
const (
|
||||
iceComponentRTPStr = "rtp"
|
||||
iceComponentRTCPStr = "rtcp"
|
||||
)
|
||||
|
||||
func newICEComponent(raw string) ICEComponent {
|
||||
switch raw {
|
||||
case iceComponentRTPStr:
|
||||
return ICEComponentRTP
|
||||
case iceComponentRTCPStr:
|
||||
return ICEComponentRTCP
|
||||
default:
|
||||
return ICEComponent(Unknown)
|
||||
}
|
||||
}
|
||||
|
||||
func (t ICEComponent) String() string {
|
||||
switch t {
|
||||
case ICEComponentRTP:
|
||||
return iceComponentRTPStr
|
||||
case ICEComponentRTCP:
|
||||
return iceComponentRTCPStr
|
||||
default:
|
||||
return ErrUnknownType.Error()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user