From 44afa8bae16bd27b11d1031a43e0980eb8c969f4 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Wed, 26 Jan 2022 13:22:39 +0530 Subject: [PATCH] Delete down track on close (#374) Note that it is called from Unbind also (previous behaviour). It should be fine as long as there is no new down track for the same peer added between close calling it and unbind calling it. --- pkg/sfu/downtrack.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkg/sfu/downtrack.go b/pkg/sfu/downtrack.go index f1ce7fe0c..da845ee6a 100644 --- a/pkg/sfu/downtrack.go +++ b/pkg/sfu/downtrack.go @@ -453,9 +453,12 @@ func (d *DownTrack) CloseWithFlush(flush bool) { d.closeOnce.Do(func() { Logger.V(1).Info("Closing sender", "peer_id", d.peerID, "kind", d.kind) + d.receiver.DeleteDownTrack(d.peerID) + if d.onCloseHandler != nil { d.onCloseHandler() } + close(d.done) }) }