丢包bug
Closed this issue · 1 comments
823639792 commented
我发现一个地方,好像存在问题
rtp.cpp 中 InserSortList函数
//这个包不是紧接着前一个包
if(seqLast+1 != it_pos->first.seq) {
break;
}
我进行了修改
//这个包不是紧接着前一个包
if((uint16_t)(seqLast+1) != it_pos->first.seq) {
break;
}
应该是seqLast+1临时值不是用uint16_t,而是int,所以导致这里的判断(65536 != 65535)后,跳出了循环,导致加入了很多rtp包,但是并没有处理,后边直接丢掉
BigPig0 commented
多谢提醒,数字1默认类型的问题。另外这个rtp组包完全重写了,原来算法用包队列大小来丢弃过早的包不好