Update histogram "WebRTC.Video.OnewayDelayInMs" to use the estimated one-way delay.
Previous logged delay was: network delay (rtt/2) + jitter delay + decode time + render delay. Make capture time in local timebase available for decoded VP9 video frames (propagate ntp_time_ms from EncodedImage to decoded VideoFrame). BUG= Review URL: https://codereview.webrtc.org/1688143003 Cr-Commit-Position: refs/heads/master@{#11901}
This commit is contained in:
@ -913,14 +913,16 @@ int VP9DecoderImpl::Decode(const EncodedImage& input_image,
|
||||
// It may be released by libvpx during future vpx_codec_decode or
|
||||
// vpx_codec_destroy calls.
|
||||
img = vpx_codec_get_frame(decoder_, &iter);
|
||||
int ret = ReturnFrame(img, input_image._timeStamp);
|
||||
int ret = ReturnFrame(img, input_image._timeStamp, input_image.ntp_time_ms_);
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
return WEBRTC_VIDEO_CODEC_OK;
|
||||
}
|
||||
|
||||
int VP9DecoderImpl::ReturnFrame(const vpx_image_t* img, uint32_t timestamp) {
|
||||
int VP9DecoderImpl::ReturnFrame(const vpx_image_t* img,
|
||||
uint32_t timestamp,
|
||||
int64_t ntp_time_ms) {
|
||||
if (img == NULL) {
|
||||
// Decoder OK and NULL image => No show frame.
|
||||
return WEBRTC_VIDEO_CODEC_NO_OUTPUT;
|
||||
@ -947,6 +949,7 @@ int VP9DecoderImpl::ReturnFrame(const vpx_image_t* img, uint32_t timestamp) {
|
||||
VideoFrame decoded_image;
|
||||
decoded_image.set_video_frame_buffer(img_wrapped_buffer);
|
||||
decoded_image.set_timestamp(timestamp);
|
||||
decoded_image.set_ntp_time_ms(ntp_time_ms);
|
||||
int ret = decode_complete_callback_->Decoded(decoded_image);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
|
||||
Reference in New Issue
Block a user