直播:后台 JWT 推流、前台画中画;WebRTC 服务与 Nginx WebSocket 代理

Made-with: Cursor
This commit is contained in:
whm
2026-03-25 15:00:14 +08:00
parent b83ec91b1a
commit 7811adca66
1050 changed files with 146524 additions and 37 deletions

41
server/vendor/github.com/pion/dtls/v2/util.go generated vendored Normal file
View File

@@ -0,0 +1,41 @@
// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
// SPDX-License-Identifier: MIT
package dtls
func findMatchingSRTPProfile(a, b []SRTPProtectionProfile) (SRTPProtectionProfile, bool) {
for _, aProfile := range a {
for _, bProfile := range b {
if aProfile == bProfile {
return aProfile, true
}
}
}
return 0, false
}
func findMatchingCipherSuite(a, b []CipherSuite) (CipherSuite, bool) {
for _, aSuite := range a {
for _, bSuite := range b {
if aSuite.ID() == bSuite.ID() {
return aSuite, true
}
}
}
return nil, false
}
func splitBytes(bytes []byte, splitLen int) [][]byte {
splitBytes := make([][]byte, 0)
numBytes := len(bytes)
for i := 0; i < numBytes; i += splitLen {
j := i + splitLen
if j > numBytes {
j = numBytes
}
splitBytes = append(splitBytes, bytes[i:j])
}
return splitBytes
}