WebRtc Native M96 远端视频接收之-VideoReceiveStream2中FrameBuffer原理

Posted 一苇渡江694

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebRtc Native M96 远端视频接收之-VideoReceiveStream2中FrameBuffer原理相关的知识,希望对你有一定的参考价值。

经过一系列的操作,最终完整的frame回到RtpVideoStreamReceiver2::OnCompleteFrames中。
并且,通过complete_frame_callback_->OnCompleteFrame(std::move(frame));回调到VideoReceiveStream2类中。

这时候,就需要frame_buffer_出场了!!!

std::unique_ptr<video_coding::FrameBuffer> frame_buffer_;

当组帧完成,参考关系完整后,帧放到FrameBuffer中,就可以等待解码器来临幸了。这里是两个线程在操作,一个线程处理完参考关系后,将帧插入到FrameBuffer;一个线程取帧来解码播放。

DecodingQueue线程:

frame_buffer_->NextFrame

IncomingVideoStream线程:

config_.renderer->OnFrame(video_frame);

......

sink_->OnFrame(frame);

FrameBuffer::InsertFrame

int64_t FrameBuffer::InsertFrame(std::unique_ptr<EncodedFrame> frame) 
  TRACE

以上是关于WebRtc Native M96 远端视频接收之-VideoReceiveStream2中FrameBuffer原理的主要内容,如果未能解决你的问题,请参考以下文章

WebRtc Native M96 远端视频接收之NackRequesterNackSender-NACK丢包重传原理

WebRtc Native M96 远端视频接收之NackRequesterNackSender-NACK丢包重传原理

WebRtc Native M96 远端视频接收之VideoReceiveStream2模块创建分析

WebRtc Native M96 远端视频接收之PacketBuffer-组帧原理分析

WebRtc Native M96 远端视频接收之PacketBuffer-组帧原理分析

WebRtc Native M96 远端视频接收之RtpVideoStreamReceiver2-RTP包接收流程分析