直播:后台 JWT 推流、前台画中画;WebRTC 服务与 Nginx WebSocket 代理
Made-with: Cursor
This commit is contained in:
46
server/vendor/github.com/pion/sctp/param.go
generated
vendored
Normal file
46
server/vendor/github.com/pion/sctp/param.go
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
package sctp
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type param interface {
|
||||
marshal() ([]byte, error)
|
||||
length() int
|
||||
}
|
||||
|
||||
// ErrParamTypeUnhandled is returned if unknown parameter type is specified.
|
||||
var ErrParamTypeUnhandled = errors.New("unhandled ParamType")
|
||||
|
||||
func buildParam(t paramType, rawParam []byte) (param, error) {
|
||||
switch t {
|
||||
case forwardTSNSupp:
|
||||
return (¶mForwardTSNSupported{}).unmarshal(rawParam)
|
||||
case supportedExt:
|
||||
return (¶mSupportedExtensions{}).unmarshal(rawParam)
|
||||
case ecnCapable:
|
||||
return (¶mECNCapable{}).unmarshal(rawParam)
|
||||
case random:
|
||||
return (¶mRandom{}).unmarshal(rawParam)
|
||||
case reqHMACAlgo:
|
||||
return (¶mRequestedHMACAlgorithm{}).unmarshal(rawParam)
|
||||
case chunkList:
|
||||
return (¶mChunkList{}).unmarshal(rawParam)
|
||||
case stateCookie:
|
||||
return (¶mStateCookie{}).unmarshal(rawParam)
|
||||
case heartbeatInfo:
|
||||
return (¶mHeartbeatInfo{}).unmarshal(rawParam)
|
||||
case outSSNResetReq:
|
||||
return (¶mOutgoingResetRequest{}).unmarshal(rawParam)
|
||||
case reconfigResp:
|
||||
return (¶mReconfigResponse{}).unmarshal(rawParam)
|
||||
case zeroChecksumAcceptable:
|
||||
return (¶mZeroChecksumAcceptable{}).unmarshal(rawParam)
|
||||
default:
|
||||
return nil, fmt.Errorf("%w: %v", ErrParamTypeUnhandled, t)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user