(primaryBuffer *Buffer)
| 214 | } |
| 215 | |
| 216 | func (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 | |
| 236 | func (b *Buffer) NotifyRTX(ssrc uint32, repairSSRC uint32, rsid string) { |
| 237 | if onNotifyRTX := b.getOnNotifyRTX(); onNotifyRTX != nil { |
no test coverage detected