rtp_video_stream_receiver2.cc : OnReceivedPayloadData video_header.is_last_packet_in_frame |= rtp_packet.Marker();
video_rtp_depacketizer_h264.cc:
absl::optional<VideoRtpDepacketizer::ParsedRtpPayload>
VideoRtpDepacketizerH264::Parse(rtc::CopyOnWriteBuffer rtp_payload)
packet_buffer_.InsertPacket
OnInsertedPacket --- The result of framing goes here
rtp_video_stream_receiver2.cc : OnAssembledFrame
buffered_frame_decryptor.cc: ManageEncryptedFrame ->DecryptFrame
rtp_video_stream_receiver2.cc : OnDecryptedFrame
OnCompleteFrames
OnCompleteFrame
http://receive_statistics_proxy.cc 的 ReceiveStatisticsProxy::OnCompleteFrame
VideoStreamBufferController::InsertFrame -> stats_proxy_->OnCompleteFrame(metadata.is_keyframe, metadata.size,metadata.contentType); receiv:key+delta
void VideoStreamBufferController::MaybeScheduleFrameForRelease
There is less frame in the middle
VideoStreamBufferController::ForceKeyFrameReleaseImmediately()
VideoStreamBufferController::OnFrameReady
VideoReceiveStream2::OnEncodedFrame
VideoReceiveStream2::DecodeAndMaybeDispatchEncodedFrame
VCMGenericDecoder :: Decode ( real decode ) -- the decoder_ here is VideoDecoderSoftwareFallbackWrapper
VideoDecoderSoftwareFallbackWrapper::Decode
硬解: RTCVideoDecoderAdapter::Decode
Soft solution : H264DecoderImpl::Decode (FFmpeg decoding)
(The hardware_decoder and software_decoder will be created in video_codec_factory.cc, and passed to the webrtc fallback module through webrtc:: CreateVideoDecoderSoftwareFallbackWrapper )
VideoReceiveStream2::OnCompleteFrame(std::unique_ptr<EncodedFrame> frame)
VideoStreamBufferController::InsertFrame
Hardware decoding failed:
NotifyError will enter the error state. Once it enters the error state, it will return directly to std:: move (decode_cb). Run (DecoderStatus::Codes::kInterrupted);
media/gpu/windows/d3d11_video_decoder.cc
log keyword:
deocde失败:Failed to decode frame
Decoded frame is not a CVPixelBuffer
Decryption failed: Failed to unprotect
Error code:
avcodec_send_packet error: -1094995529 FFERRTAG( 'I','N','D','A') ///< Invalid data found when processing input
avcodec_receive_packet -35: AVERROR(EAGAIN) output is not available in the current state - user must try to send input