fix negative dur

This commit is contained in:
deepch 2022-03-09 19:31:51 +03:00
parent 7a7f15e1a5
commit e379e68a0b

View File

@ -12,6 +12,7 @@ import (
"html"
"io"
"log"
"math"
"net"
"net/url"
"strconv"
@ -583,6 +584,14 @@ func (client *RTSPClient) RTPDemuxer(payloadRAW *[]byte) ([]*av.Packet, bool) {
if client.PreVideoTS == 0 {
client.PreVideoTS = timestamp
}
if timestamp-client.PreVideoTS < 0 {
//var ui32 uint64 = math.MaxUint32
if math.MaxUint32-client.PreVideoTS < 90*100 { //100 ms
client.PreVideoTS = math.MaxUint32 - client.PreVideoTS
} else {
client.PreVideoTS = 0
}
}
if client.PreSequenceNumber != 0 && SequenceNumber-client.PreSequenceNumber != 1 {
client.Println("drop packet", SequenceNumber-1)
}