Upgrade pion/rtcp, use nack.Range instead of PacketList.

This commit is contained in:
Juliusz Chroboczek
2020-12-03 23:46:19 +01:00
parent f0cbe9c0c1
commit 120bfc92c7
4 changed files with 12 additions and 10 deletions
+6 -5
View File
@@ -573,23 +573,24 @@ func gotNACK(conn *rtpDownConnection, track *rtpDownTrack, p *rtcp.TransportLaye
var packet rtp.Packet
buf := make([]byte, packetcache.BufSize)
for _, nack := range p.Nacks {
for _, seqno := range nack.PacketList() {
nack.Range(func (seqno uint16) bool {
l := track.remote.GetRTP(seqno, buf)
if l == 0 {
unhandled = append(unhandled, seqno)
continue
return true
}
err := packet.Unmarshal(buf[:l])
if err != nil {
continue
return true
}
err = track.track.WriteRTP(&packet)
if err != nil {
log.Printf("WriteRTP: %v", err)
continue
return false
}
track.rate.Accumulate(uint32(l))
}
return true
})
}
if len(unhandled) == 0 {
return