这个任务具体说明:
函数会收取packets, 每一个包包含一个fragment 被压缩的video frame。首先 需要重组所有的fragments,对于重组来说就是把所有的包 按顺序连接起来。但是由于网络原因有可能不是所有的包都是按顺序被接受到,为了保证重组包正确,需要设计一个缓存的机制来等待一下迟到的包,(我们假设所有的包都会收到)。另外还有一个情况需要被考虑到,就是是有可能在第一个时间单位时候收到了第一个时间单位的包,但是第二个时间单位的时候第二个时间单位的包被延迟了,导致第二个时间单位时候什么东西都没有收到,或许第三个时间单位的时候出现了一样的事情,导致第三个时间单位也没有收到任何东西,但是到了第四个时间单位的时候同时收到了第二个第三个和第四个时间单位的包,这时候需要系统来快速的播放一下所需要播放的缓存,并且考虑到一个机制,可以动态的判断是不是大部分的数据都会有 n 个时间单位的延迟,如果是这样的话 就把整个的播放来延迟n 个时间单位,这样来保证整个播放的流畅。在完成这个类之后需要提供相应的 单元测试代码 来证明这个机制是好用的。
需要用C++ 实现