当前位置: 代码迷 >> 综合 >> webrtc 视频jitterbuffer
  详细解决方案

webrtc 视频jitterbuffer

热度:88   发布时间:2023-12-08 18:54:18.0

M74版本

一、PacketBuffer:帧完整性,保证帧中包序号连续,包的排序。(两个数组缓存,一个是包序号缓存,一个是数据缓存)

bool PacketBuffer::InsertPacket(VCMPacket* packet); 插入缓存

void PacketBuffer::PaddingReceived(uint16_t seq_num) 填充包接收

void PacketBuffer::UpdateMissingPackets(uint16_t seq_num) 更新丢包

bool PacketBuffer::PotentialNewFrame(uint16_t seq_num)  检测包的连续

std::vector<std::unique_ptr<RtpFrameObject>> PacketBuffer::FindFrames( uint16_t seq_num)

二、RtpFrameReferenceFinder:主要是查找帧的参考帧,对gop的帧进行排序。

tpFrameReferenceFinder::ManageFramePidOrSeqNum(RtpFrameObject* frame, int picture_id)  检查输入帧的连续性

三、FrameBuffer:负责帧的连续性和可解码性,GOP的排序