| Index: webrtc/video/receive_statistics_proxy.cc
 | 
| diff --git a/webrtc/video/receive_statistics_proxy.cc b/webrtc/video/receive_statistics_proxy.cc
 | 
| index abf297f56f962b3af150f673cc7d50ba3c9ebab2..c92d4083c04208ba7d1096ce8f5d74a7cd84343f 100644
 | 
| --- a/webrtc/video/receive_statistics_proxy.cc
 | 
| +++ b/webrtc/video/receive_statistics_proxy.cc
 | 
| @@ -161,9 +161,6 @@ void ReceiveStatisticsProxy::OnDecoderTiming(int decode_ms,
 | 
|    stats_.min_playout_delay_ms = min_playout_delay_ms;
 | 
|    stats_.render_delay_ms = render_delay_ms;
 | 
|    decode_time_counter_.Add(decode_ms);
 | 
| -  // Network delay (rtt/2) + target_delay_ms (jitter delay + decode time +
 | 
| -  // render delay).
 | 
| -  delay_counter_.Add(target_delay_ms + rtt_ms / 2);
 | 
|  }
 | 
|  
 | 
|  void ReceiveStatisticsProxy::RtcpPacketTypesCounterUpdated(
 | 
| @@ -220,7 +217,9 @@ void ReceiveStatisticsProxy::OnDecodedFrame() {
 | 
|    stats_.decode_frame_rate = decode_fps_estimator_.Rate(now);
 | 
|  }
 | 
|  
 | 
| -void ReceiveStatisticsProxy::OnRenderedFrame(int width, int height) {
 | 
| +void ReceiveStatisticsProxy::OnRenderedFrame(const VideoFrame& frame) {
 | 
| +  int width = frame.width();
 | 
| +  int height = frame.height();
 | 
|    RTC_DCHECK_GT(width, 0);
 | 
|    RTC_DCHECK_GT(height, 0);
 | 
|    uint64_t now = clock_->TimeInMilliseconds();
 | 
| @@ -232,6 +231,12 @@ void ReceiveStatisticsProxy::OnRenderedFrame(int width, int height) {
 | 
|    render_height_counter_.Add(height);
 | 
|    render_fps_tracker_.AddSamples(1);
 | 
|    render_pixel_tracker_.AddSamples(sqrt(width * height));
 | 
| +
 | 
| +  if (frame.ntp_time_ms() > 0) {
 | 
| +    int64_t delay_ms = clock_->CurrentNtpInMilliseconds() - frame.ntp_time_ms();
 | 
| +    if (delay_ms >= 0)
 | 
| +      delay_counter_.Add(delay_ms);
 | 
| +  }
 | 
|  }
 | 
|  
 | 
|  void ReceiveStatisticsProxy::OnReceiveRatesUpdated(uint32_t bitRate,
 | 
| 
 |