diff --git a/pkg/rtc/mediatracksubscriptions.go b/pkg/rtc/mediatracksubscriptions.go index 6ef8b4c94..a6b929c97 100644 --- a/pkg/rtc/mediatracksubscriptions.go +++ b/pkg/rtc/mediatracksubscriptions.go @@ -134,7 +134,7 @@ func (t *MediaTrackSubscriptions) AddSubscriber(sub types.LocalParticipant, wr * // Bind callback can happen from replaceTrack, so set it up early var reusingTransceiver atomic.Bool var dtState sfu.DownTrackState - downTrack.OnBind(func() { + downTrack.OnBinding(func() { wr.DetermineReceiver(downTrack.Codec()) if reusingTransceiver.Load() { downTrack.SeedState(dtState) diff --git a/pkg/sfu/downtrack.go b/pkg/sfu/downtrack.go index 1a0b00003..91ba6aab6 100644 --- a/pkg/sfu/downtrack.go +++ b/pkg/sfu/downtrack.go @@ -158,7 +158,7 @@ type DownTrack struct { writeStream webrtc.TrackLocalWriter rtcpReader *buffer.RTCPReader onCloseHandler func(willBeResumed bool) - onBind func() + onBinding func() receiverReportListeners []ReceiverReportListener listenerLock sync.RWMutex isClosed atomic.Bool @@ -326,12 +326,12 @@ func (d *DownTrack) Bind(t webrtc.TrackLocalContext) (webrtc.RTPCodecParameters, d.sequencer = newSequencer(d.maxTrack, maxPadding, d.logger) } - d.bound.Store(true) d.codec = codec.RTPCodecCapability d.forwarder.DetermineCodec(d.codec) - if d.onBind != nil { - d.onBind() + if d.onBinding != nil { + d.onBinding() } + d.bound.Store(true) d.bindLock.Unlock() d.logger.Debugw("downtrack bound") @@ -827,8 +827,8 @@ func (d *DownTrack) OnCloseHandler(fn func(willBeResumed bool)) { d.onCloseHandler = fn } -func (d *DownTrack) OnBind(fn func()) { - d.onBind = fn +func (d *DownTrack) OnBinding(fn func()) { + d.onBinding = fn } func (d *DownTrack) OnREMB(fn func(dt *DownTrack, remb *rtcp.ReceiverEstimatedMaximumBitrate)) {