From 4e4ad102f7de558106cb381cabf1b055857b061d Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Fri, 21 Jan 2022 00:50:48 +0530 Subject: [PATCH] move stop timer in mediatracksubscriptions module where it belongs (#357) * move stop timer in mediatracksubscriptions module where it belongs * Correct my screw up --- pkg/rtc/mediatrack.go | 1 - pkg/rtc/mediatrackreceiver.go | 2 ++ pkg/rtc/mediatracksubscriptions.go | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/rtc/mediatrack.go b/pkg/rtc/mediatrack.go index 00f1198d8..1a6130657 100644 --- a/pkg/rtc/mediatrack.go +++ b/pkg/rtc/mediatrack.go @@ -202,7 +202,6 @@ func (t *MediaTrack) AddReceiver(receiver *webrtc.RTPReceiver, track *webrtc.Tra ) wr.SetRTCPCh(t.params.RTCPChan) wr.OnCloseHandler(func() { - t.stopMaxQualityTimer() t.RemoveAllSubscribers() t.MediaTrackReceiver.Close() t.params.Telemetry.TrackUnpublished(context.Background(), t.PublisherID(), t.ToProto(), uint32(track.SSRC())) diff --git a/pkg/rtc/mediatrackreceiver.go b/pkg/rtc/mediatrackreceiver.go index 5b44f1d04..08d4ef074 100644 --- a/pkg/rtc/mediatrackreceiver.go +++ b/pkg/rtc/mediatrackreceiver.go @@ -98,6 +98,8 @@ func (t *MediaTrackReceiver) Close() { onclose := t.onClose t.lock.Unlock() + t.MediaTrackSubscriptions.Close() + for _, f := range onclose { f() } diff --git a/pkg/rtc/mediatracksubscriptions.go b/pkg/rtc/mediatracksubscriptions.go index 933d05fe9..1f7d355ec 100644 --- a/pkg/rtc/mediatracksubscriptions.go +++ b/pkg/rtc/mediatracksubscriptions.go @@ -63,6 +63,10 @@ func NewMediaTrackSubscriptions(params MediaTrackSubscriptionsParams) *MediaTrac return t } +func (t *MediaTrackSubscriptions) Close() { + t.stopMaxQualityTimer() +} + func (t *MediaTrackSubscriptions) OnNoSubscribers(f func()) { t.onNoSubscribers = f }