WebRTC代码走读(五):视频接受流程
来源:互联网 发布:ctr csm数据区别 编辑:程序博客网 时间:2024/06/09 11:54
转载注明出处http://blog.csdn.net/wanghorse
收到视频包UdpSocketManagerPosixImpl::Run UdpSocketManagerPosixImpl::Process UdpSocketPosix::HasIncoming(recvfrom) UdpTransportImpl::IncomingRTPCallback UdpTransportImpl::IncomingRTPFunction VideoChannelTransport::IncomingRTPPacket ViENetworkImpl::ReceivedRTPPacket ViEChannel::ReceivedRTPPacket ViEReceiver::ReceivedRTPPacket ViEReceiver::InsertRTPPacket 如果配置了抓包, 可以RtpDumpImpl::DumpPacket RtpHeaderParserImpl::Parse RtpHeaderParser::Parse ViEReceiver::ReceivePacket RtpReceiverImpl::IncomingRtpPacket ssrc、payroad等检查 RTPReceiverVideo::ParseRtpPacket ViEReceiver::OnReceivedPayloadData VideoCodingModuleImpl::IncomingPacket VideoReceiver::IncomingPacket VCMReceiver::InsertPacket VCMJitterBuffer::InsertPacket VCMJitterBuffer::GetFrame, 完整frame/未完整frame/空frame VCMFrameBuffer::InsertPacket, 组桢 如果完成, 插入可解码桢队列(decodable_frames_)ViEChannel::ChannelDecodeProcess VideoCodingModuleImpl::Decode VideoReceiver::Decode VCMReceiver::FrameForDecoding VCMJitterBuffer::NextCompleteTimestamp,还未到render时间, 则等待 VCMJitterBuffer::ExtractAndSetDecode, 取frame 如果需要,抓图片?() VideoReceiver::Decode VCMGenericDecoder::Decode VP8DecoderImpl::Decodedecode完成(VP8是同步的, 直接在Decode中调用) VCMDecodedFrameCallback::Decoded ViEChannel::FrameToRender 图片预处理 ViEFrameProviderBase::DeliverFrame ViERenderer::DeliverFrame IncomingVideoStream::RenderFrame, 复制frame,放入队列IncomingVideoStream::IncomingVideoStreamThreadFun IncomingVideoStream::IncomingVideoStreamProcess AndroidNativeOpenGl2Channel::RenderFrame, 复制frameVideoRenderAndroid::JavaRenderThreadProcess AndroidNativeOpenGl2Channel::DeliverFrame 调用JAVA层函数 AndroidNativeOpenGl2Channel::DrawNativeStatic VideoRenderOpenGles20::Render
0 0
- WebRTC代码走读(五):视频接受流程
- WebRTC代码走读(六):视频发送流程
- WebRTC代码走读(三):音频接收流程
- WebRTC代码走读(四):音频发送流程
- WebRTC代码走读(一):初始化
- WebRTC代码走读(二):发送Call
- WebRTC代码走读(七):线程关系
- WebRTC代码走读(八):代码目录结构
- WebRTC代码走读(八):代码目录结构
- WebRTC代码走读(八):代码目录结构
- WebRTC代码走读(十):rtp_rtcp模块分析
- WebRTC代码走读(十一):video_coding模块分析
- WebRTC代码走读(九):VoiceEngine和VideoEngine主要的控制类说明
- WebRTC视频分析:处理流程
- WeBRTC IOS视频采集流程
- 4.0Wifi加载流程,走读代码
- 4.0Wifi加载流程,走读代码
- Qt Creator插件工作流程代码走读
- 利用buildroot构造powerpc交叉编译环境
- leetcode 9. 判断整数是否是回数 Palindrome Number
- php 什么是缓存
- Java对象创建过程和内存结构分析
- kendoUI中window控件的使用
- WebRTC代码走读(五):视频接受流程
- Ruby字符(串)总结
- java文件上转-fileupload
- Unity4.6.3之间隔、延时调用方法
- hdu-1078 FatMouse and Cheese (and) 滑雪问题(记忆化搜索+简单dp)
- PythonChallenge第8题
- Android学习记录<三>
- java乱码处理
- hadoop SequenceFile介绍 大数据 存储