webrtc video jitter buffer学习笔记(一)

关于video jitter buffer 仔细看了大概一周的时间,基本思路脑海中还是有数的,但是很多地方依然没有理的特别的顺,感觉是比较操蛋.

video jitter buffer的设计思路,请参考:
http://www.ctiforum.com/news/guonei/512085.html

基本概念:
video jitter buffer 中的概念有:

1.基本类型成员,rtp包封装为CVMPacket,一个帧由多个packet来组成,组成的类型为:VCMFrameBuffer

VCMPacket ----- > VCMFrameBuffer

2.帧Frame要缓存到jitter buffer中,jitter中有三个列表:
free list / incomplete list / decodeable list

free list是 list ,是一个双向链表。

incomplete list 所有没有complete的 frame都要优先缓存到这个列表中.
decodeable list 如果frame进入到了complete状态,那么就会放入到decodeable list中.

已经decode的frame直接接着进入到free list 中.

3.一个frame,可以拆分多个packet,每个packet的时间戳是一样的,序列号按顺序递增.

目前我们最大的设计问题是:

1.丢包和包的到达顺序错乱?
2.网络抖动是怎么处理的?

你可能感兴趣的:(webrtc代码研究)