专注webrtc、kurento音视频开发
qq:911921258
转载注明出处http://blog.youkuaiyun.com/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::Decode
decode完成(VP8是同步的, 直接在Decode中调用)
VCMDecodedFrameCallback::Decoded
ViEChannel::FrameToRender
图片预处理
ViEFrameProviderBase::DeliverFrame
ViERenderer::DeliverFrame
IncomingVideoStream::RenderFrame, 复制frame,放入队列
IncomingVideoStream::IncomingVideoStreamThreadFun
IncomingVideoStream::IncomingVideoStreamProcess
AndroidNativeOpenGl2Channel::RenderFrame, 复制frame
VideoRenderAndroid::JavaRenderThreadProcess
AndroidNativeOpenGl2Channel::DeliverFrame
调用JAVA层函数
AndroidNativeOpenGl2Channel::DrawNativeStatic
VideoRenderOpenGles20::Render
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55