From 6183233eeb53f4c086a8a124b2e3623fa84e5a76 Mon Sep 17 00:00:00 2001 From: zarazaex69 Date: Sun, 3 May 2026 02:04:41 +0300 Subject: [PATCH] fix: fix bug where the srv side ignored WebRTC renegotiation --- internal/provider/telemost/peer.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/provider/telemost/peer.go b/internal/provider/telemost/peer.go index 9fe1dcb..0b36495 100644 --- a/internal/provider/telemost/peer.go +++ b/internal/provider/telemost/peer.go @@ -527,8 +527,8 @@ func (p *Peer) handleSignaling(ctx context.Context) { return } - if offer, ok := msg["subscriberSdpOffer"].(map[string]interface{}); ok && !pubSent { - if err := p.handleSdpOffer(offer, uid); err != nil { + if offer, ok := msg["subscriberSdpOffer"].(map[string]interface{}); ok { + if err := p.handleSdpOffer(offer, uid, !pubSent); err != nil { logger.Debugf("sdp offer error: %v", err) continue } @@ -586,7 +586,7 @@ func (p *Peer) handleCommonMessages(msg map[string]interface{}, uid string) { } } -func (p *Peer) handleSdpOffer(offer map[string]interface{}, uid string) error { +func (p *Peer) handleSdpOffer(offer map[string]interface{}, uid string, sendPub bool) error { sdp, _ := offer["sdp"].(string) pcSeq, _ := offer["pcSeq"].(float64) @@ -624,6 +624,10 @@ func (p *Peer) handleSdpOffer(offer map[string]interface{}, uid string) error { } } + if !sendPub { + return nil + } + time.Sleep(300 * time.Millisecond) pubOffer, err := p.pcPub.CreateOffer(nil)