mirror of
https://github.com/m1k1o/neko.git
synced 2025-07-31 23:40:50 +02:00
independent tracks for users & stream switching.
This commit is contained in:
parent
417a3d1692
commit
eb88c8dc62
6 changed files with 84 additions and 98 deletions
|
@ -1,10 +1,6 @@
|
|||
package webrtc
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
)
|
||||
import "github.com/pion/webrtc/v3"
|
||||
|
||||
type WebRTCPeerCtx struct {
|
||||
api *webrtc.API
|
||||
|
@ -12,8 +8,7 @@ type WebRTCPeerCtx struct {
|
|||
settings *webrtc.SettingEngine
|
||||
connection *webrtc.PeerConnection
|
||||
configuration *webrtc.Configuration
|
||||
videoTracks map[string]*webrtc.TrackLocalStaticSample
|
||||
videoSender *webrtc.RTPSender
|
||||
changeVideo func(videoID string) error
|
||||
}
|
||||
|
||||
func (webrtc_peer *WebRTCPeerCtx) SignalAnswer(sdp string) error {
|
||||
|
@ -28,12 +23,7 @@ func (webrtc_peer *WebRTCPeerCtx) SignalCandidate(candidate webrtc.ICECandidateI
|
|||
}
|
||||
|
||||
func (webrtc_peer *WebRTCPeerCtx) SetVideoID(videoID string) error {
|
||||
track, ok := webrtc_peer.videoTracks[videoID]
|
||||
if !ok {
|
||||
return fmt.Errorf("videoID not found in available tracks")
|
||||
}
|
||||
|
||||
return webrtc_peer.videoSender.ReplaceTrack(track)
|
||||
return webrtc_peer.changeVideo(videoID)
|
||||
}
|
||||
|
||||
func (webrtc_peer *WebRTCPeerCtx) Destroy() error {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue