Report timing frames info in GetStats.
Some frames are already marked as 'timing frames' via video-timing RTP header extension. Timestamps along full WebRTC pipeline are gathered for these frames. This CL implements reporting of these timestamps for a single timing frame since the last GetStats(). The frame with the longest end-to-end delay between two consecutive GetStats calls is reported. The purpose of this timing information is not to provide a realtime statistics but to provide debugging information as it will help identify problematic places in video pipeline for outliers (frames which took longest to process). BUG=webrtc:7594 Review-Url: https://codereview.webrtc.org/2946413002 Cr-Commit-Position: refs/heads/master@{#18909}
This commit is contained in:
@ -132,11 +132,13 @@ EncodedImageCallback::Result PayloadRouter::OnEncodedImage(
|
||||
rtp_video_header.content_type = encoded_image.content_type_;
|
||||
if (encoded_image.timing_.is_timing_frame) {
|
||||
rtp_video_header.video_timing.encode_start_delta_ms =
|
||||
VideoTiming::GetDeltaCappedMs(encoded_image.capture_time_ms_,
|
||||
encoded_image.timing_.encode_start_ms);
|
||||
VideoSendTiming::GetDeltaCappedMs(
|
||||
encoded_image.capture_time_ms_,
|
||||
encoded_image.timing_.encode_start_ms);
|
||||
rtp_video_header.video_timing.encode_finish_delta_ms =
|
||||
VideoTiming::GetDeltaCappedMs(encoded_image.capture_time_ms_,
|
||||
encoded_image.timing_.encode_finish_ms);
|
||||
VideoSendTiming::GetDeltaCappedMs(
|
||||
encoded_image.capture_time_ms_,
|
||||
encoded_image.timing_.encode_finish_ms);
|
||||
rtp_video_header.video_timing.packetization_finish_delta_ms = 0;
|
||||
rtp_video_header.video_timing.pacer_exit_delta_ms = 0;
|
||||
rtp_video_header.video_timing.network_timstamp_delta_ms = 0;
|
||||
|
||||
Reference in New Issue
Block a user