diff --git a/pkg/sfu/buffer/buffer.go b/pkg/sfu/buffer/buffer.go index 4f6068b9f..95b1b4957 100644 --- a/pkg/sfu/buffer/buffer.go +++ b/pkg/sfu/buffer/buffer.go @@ -287,7 +287,9 @@ func (b *Buffer) SendPLI() { &rtcp.PictureLossIndication{SenderSSRC: rand.Uint32(), MediaSSRC: b.mediaSSRC}, } - b.feedbackCB(pli) + b.callbackOps <- func() { + b.feedbackCB(pli) + } } func (b *Buffer) SetRTT(rtt uint32) { @@ -501,7 +503,9 @@ func (b *Buffer) doNACKs() { } if r, numSeqNumsNacked := b.buildNACKPacket(); r != nil { - go b.feedbackCB(r) + b.callbackOps <- func() { + b.feedbackCB(r) + } b.stats.TotalNACKs += uint32(numSeqNumsNacked) } }