@@ -95,22 +95,22 @@ func NewSharedConn(grpcConn rpc.ClientConn, peerConn *webrtc.PeerConnection, log
95
95
// We were passed in a ready connection. Only create this for when `Close` is called.
96
96
peerConnFailed : make (chan struct {}),
97
97
onTrackCBByTrackName : make (map [string ]OnTrackCB ),
98
+ logger : logger ,
98
99
}
99
- ret .ResetConn (& ret .grpcConn , logger )
100
- // peerConn.OnTrack(func(trackRemote *webrtc.TrackRemote, rtpReceiver *webrtc.RTPReceiver) {
101
- // ret.logger.Warnf("OnTrack called on pc: %p, %#v, trackRemote: %p, %#v, rtpReceiver: %p, %#v", peerConn, peerConn, trackRemote, trackRemote, rtpReceiver, rtpReceiver)
102
- // ret.onTrackCBByTrackNameMu.Lock()
103
- // onTrackCB, ok := ret.onTrackCBByTrackName[trackRemote.StreamID()]
104
- // ret.onTrackCBByTrackNameMu.Unlock()
105
- // if !ok {
106
- // msg := "Callback not found for StreamID: %s, keys(resOnTrackCBs): %#v"
107
- // ret.logger.Errorf(msg, trackRemote.StreamID(), maps.Keys(ret.onTrackCBByTrackName))
108
- // return
109
- // }
110
- // onTrackCB(trackRemote, rtpReceiver)
111
- // })
112
-
113
- // debug.PrintStack()
100
+ ret .grpcConn .ReplaceConn (grpcConn )
101
+ ret .logger .Infof ("OnTrack installed on %p" , peerConn )
102
+ ret .peerConn .OnTrack (func (trackRemote * webrtc.TrackRemote , rtpReceiver * webrtc.RTPReceiver ) {
103
+ ret .logger .Info ("OnTrack called:" , trackRemote .ID ())
104
+ ret .onTrackCBByTrackNameMu .Lock ()
105
+ onTrackCB , ok := ret .onTrackCBByTrackName [trackRemote .StreamID ()]
106
+ ret .onTrackCBByTrackNameMu .Unlock ()
107
+ if ! ok {
108
+ msg := "Callback not found for StreamID: %s, keys(resOnTrackCBs): %#v"
109
+ ret .logger .Errorf (msg , trackRemote .StreamID (), maps .Keys (ret .onTrackCBByTrackName ))
110
+ return
111
+ }
112
+ onTrackCB (trackRemote , rtpReceiver )
113
+ })
114
114
115
115
return ret
116
116
}
@@ -184,6 +184,7 @@ func (sc *SharedConn) PeerConn() *webrtc.PeerConnection {
184
184
// happens. But subequent calls can be entirely asynchronous to components/services accessing
185
185
// `SharedConn` for connection objects.
186
186
func (sc * SharedConn ) ResetConn (conn rpc.ClientConn , moduleLogger logging.Logger ) {
187
+ moduleLogger .Infof ("ResetConn called on %p, sharedConn: %p" , conn , sc )
187
188
sc .grpcConn .ReplaceConn (conn )
188
189
if sc .logger == nil {
189
190
// The first call to `ResetConn` happens before anything can access `sc.logger`. So long as
@@ -226,6 +227,7 @@ func (sc *SharedConn) ResetConn(conn rpc.ClientConn, moduleLogger logging.Logger
226
227
return
227
228
}
228
229
230
+ sc .logger .Infof ("shared conn: %p, peerConnection: %p" , sc , peerConn )
229
231
sc .peerConn = peerConn
230
232
sc .peerConnReady , _ , err = rpc .ConfigureForRenegotiation (peerConn , rpc .PeerRoleClient , sc .logger )
231
233
if err != nil {
0 commit comments