Libjingle点对点视频传输及渲染
想看下peerconnection客户端例子的视频传输部分,就调试看了视频显示部分,分为两个部分:本地显示和显示远端视频。
peerconnection客户端渲染对端视频:在modules\video_render\incoming_video_stream.cc文件中的IncomingVideoStreamProcess线程函数会去从其成员变量VideoRenderFrames& render_buffers_;中读取视频帧渲染。
![](https://images2015.cnblogs.com/blog/950772/201706/950772-20170604103505821-218850136.png)
video_engine\vie_channel.cc文件中的ChannelDecodeProcess线程函数通过video_coding\main\source\video_receiver.cc中的成员变量VCMReceiver _receiver;接收数据帧解码添加到渲染线程中读取的缓存render_buffers_;中。
数据接收的线程会调用video_coding\main\source\video_receiver.cc文件中的VideoReceiver::IncomingPacket函数将接收到的数据存入到VCMReceiver _receiver;供解码线程读取解码。接收对端编码的视频帧数据流程如下:
发送编码的视频帧数据到对端的流程如下: