MCPcopy
hub / github.com/livekit/livekit / SetPrimaryBufferForRTX

Method SetPrimaryBufferForRTX

pkg/sfu/buffer/buffer.go:216–234  ·  view source on GitHub ↗
(primaryBuffer *Buffer)

Source from the content-addressed store, hash-verified

214}
215
216func (b *Buffer) SetPrimaryBufferForRTX(primaryBuffer *Buffer) {
217 b.Lock()
218 b.primaryBufferForRTX = primaryBuffer
219 pkts := b.pPackets
220 b.pPackets = nil
221 b.Unlock()
222
223 for _, pp := range pkts {
224 var rtpPacket rtp.Packet
225 err := rtpPacket.Unmarshal(pp.packet)
226 if err != nil {
227 continue
228 }
229 if rtpPacket.Padding && len(rtpPacket.Payload) == 0 {
230 continue
231 }
232 primaryBuffer.writeRTX(&rtpPacket, pp.arrivalTime)
233 }
234}
235
236func (b *Buffer) NotifyRTX(ssrc uint32, repairSSRC uint32, rsid string) {
237 if onNotifyRTX := b.getOnNotifyRTX(); onNotifyRTX != nil {

Callers 2

GetOrNewMethod · 0.95
SetRTXPairMethod · 0.80

Calls 2

UnmarshalMethod · 0.95
writeRTXMethod · 0.80

Tested by

no test coverage detected