mirror of
https://github.com/pion/webrtc.git
synced 2025-11-03 09:40:59 +08:00
Unreference garbage in SampleBuilder buffer
SampleBuilder held reference to outdated packets when the SequenceNumber is jumped.
This commit is contained in:
@@ -237,3 +237,18 @@ func TestSeqnumDistance(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestSampleBuilderCleanReference(t *testing.T) {
|
||||
s := New(10, &fakeDepacketizer{})
|
||||
|
||||
s.Push(&rtp.Packet{Header: rtp.Header{SequenceNumber: 0, Timestamp: 0}, Payload: []byte{0x01}})
|
||||
s.Push(&rtp.Packet{Header: rtp.Header{SequenceNumber: 1, Timestamp: 0}, Payload: []byte{0x02}})
|
||||
s.Push(&rtp.Packet{Header: rtp.Header{SequenceNumber: 2, Timestamp: 0}, Payload: []byte{0x03}})
|
||||
s.Push(&rtp.Packet{Header: rtp.Header{SequenceNumber: 13, Timestamp: 120}, Payload: []byte{0x04}})
|
||||
|
||||
for i := 0; i < 3; i++ {
|
||||
if s.buffer[i] != nil {
|
||||
t.Errorf("Old packet (%d) is not unreferenced (maxLate: 10, pushed: 12)", i)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user