Drop not relevant packet only if contiguous. (#2167)

The probing + munging has not been set up to drop packets that follow
a gap. Dropping such a packet leads to padding packet sequence numbers
overlapping with regular packets.

This change does two things though.
- The not relevant packet will still not be sent over the wire. That could
create holes in the sequence number leading to NACKs
- Would the hole cause decode issues? Unclear as making this condition is hard.
Simulating it is not showing issues, but that may not be producing the bad
sequence if any.

Will look at the ability to drop a packet after a gap later.
This commit is contained in:
Raja Subramanian
2023-10-22 00:08:41 +05:30
committed by GitHub
parent 3e9450c774
commit 08997c96b0
+1 -1
View File
@@ -1691,7 +1691,7 @@ func (f *Forwarder) getTranslationParamsVideo(extPkt *buffer.ExtPacket, layer in
tp.shouldDrop = true
if f.started && result.IsRelevant {
// call to update highest incoming sequence number and other internal structures
if _, err := f.rtpMunger.UpdateAndGetSnTs(extPkt); err == nil {
if tpRTP, err := f.rtpMunger.UpdateAndGetSnTs(extPkt); err == nil && tpRTP.snOrdering == SequenceNumberOrderingContiguous {
f.rtpMunger.PacketDropped(extPkt)
}
}