mirror of
https://github.com/aler9/gortsplib
synced 2025-10-28 01:21:35 +08:00
rtpreorder: do not freeze in case the stream timestamp resets
This commit is contained in:
@@ -220,3 +220,38 @@ func TestBufferIsFull(t *testing.T) {
|
||||
|
||||
require.Equal(t, expected, out)
|
||||
}
|
||||
|
||||
func TestReset(t *testing.T) {
|
||||
r := New()
|
||||
sn := uint16(1234)
|
||||
|
||||
r.Process(&rtp.Packet{
|
||||
Header: rtp.Header{
|
||||
SequenceNumber: sn,
|
||||
},
|
||||
})
|
||||
|
||||
sn = 0xF234
|
||||
for i := 0; i < 64; i++ {
|
||||
out, missing := r.Process(&rtp.Packet{
|
||||
Header: rtp.Header{
|
||||
SequenceNumber: sn,
|
||||
},
|
||||
})
|
||||
require.Equal(t, []*rtp.Packet(nil), out)
|
||||
require.Equal(t, 0, missing)
|
||||
sn++
|
||||
}
|
||||
|
||||
out, missing := r.Process(&rtp.Packet{
|
||||
Header: rtp.Header{
|
||||
SequenceNumber: sn,
|
||||
},
|
||||
})
|
||||
require.Equal(t, []*rtp.Packet{{
|
||||
Header: rtp.Header{
|
||||
SequenceNumber: sn,
|
||||
},
|
||||
}}, out)
|
||||
require.Equal(t, 0, missing)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user