From a5451151563e8f8338876a495c35d289116b501f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Fri, 10 Apr 2026 10:58:34 +0200 Subject: [PATCH] fix regression #639, #638. --- server/internal/webrtc/peer.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/server/internal/webrtc/peer.go b/server/internal/webrtc/peer.go index 745c9682..9d7414bc 100644 --- a/server/internal/webrtc/peer.go +++ b/server/internal/webrtc/peer.go @@ -401,8 +401,11 @@ func (peer *WebRTCPeerCtx) SetVideo(r types.PeerVideoRequest) error { // send video signal if modified if modified { - // in goroutine because of mutex and we don't want to block - go peer.session.Send(event.SIGNAL_VIDEO, peer.Video()) + go func() { + // in goroutine because of mutex and we don't want to block + resolvedVideo := peer.Video() + peer.session.Send(event.SIGNAL_VIDEO, resolvedVideo) + }() } return nil @@ -453,8 +456,11 @@ func (peer *WebRTCPeerCtx) SetAudio(r types.PeerAudioRequest) error { // send video signal if modified if modified { - // in goroutine because of mutex and we don't want to block - go peer.session.Send(event.SIGNAL_AUDIO, peer.Audio()) + go func() { + // in goroutine because of mutex and we don't want to block + resolvedAudio := peer.Audio() + peer.session.Send(event.SIGNAL_AUDIO, resolvedAudio) + }() } return nil