From d608e312ebea41a20f461f6c1ecbcbad879a9bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Sun, 23 Oct 2022 11:31:25 +0200 Subject: [PATCH] check if we already listen to requested stream. (#13) --- internal/webrtc/track.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/webrtc/track.go b/internal/webrtc/track.go index 6f32282f..b62c4800 100644 --- a/internal/webrtc/track.go +++ b/internal/webrtc/track.go @@ -100,6 +100,11 @@ func (t *Track) SetStream(stream types.StreamSinkManager) error { t.streamMu.Lock() defer t.streamMu.Unlock() + // if we already listen to the stream, do nothing + if t.stream == stream { + return nil + } + var err error if t.stream != nil { err = t.stream.MoveListenerTo(&t.listener, stream)