| Index: remoting/protocol/webrtc_video_renderer_adapter.cc
|
| diff --git a/remoting/protocol/webrtc_video_renderer_adapter.cc b/remoting/protocol/webrtc_video_renderer_adapter.cc
|
| index ff98b5bf45a78a9545b3bc11a0bf1b02d80a3757..a1a892e8583589d00bd7191c4c0dbb17b13f9235 100644
|
| --- a/remoting/protocol/webrtc_video_renderer_adapter.cc
|
| +++ b/remoting/protocol/webrtc_video_renderer_adapter.cc
|
| @@ -61,16 +61,21 @@ void WebrtcVideoRendererAdapter::OnFrame(const cricket::VideoFrame& frame) {
|
| std::unique_ptr<webrtc::DesktopFrame> rgb_frame(new webrtc::BasicDesktopFrame(
|
| webrtc::DesktopSize(frame.width(), frame.height())));
|
|
|
| + base::TimeDelta render_delay = std::max(
|
| + base::TimeDelta(), base::TimeDelta::FromMicroseconds(static_cast<float>(
|
| + frame.timestamp_us() - rtc::TimeMicros())));
|
| +
|
| frame.ConvertToRgbBuffer(
|
| output_format_fourcc_, rgb_frame->data(),
|
| std::abs(rgb_frame->stride()) * rgb_frame->size().height(),
|
| rgb_frame->stride());
|
| rgb_frame->mutable_updated_region()->AddRect(
|
| webrtc::DesktopRect::MakeSize(rgb_frame->size()));
|
| - task_runner_->PostTask(
|
| + task_runner_->PostDelayedTask(
|
| FROM_HERE,
|
| base::Bind(&WebrtcVideoRendererAdapter::DrawFrame,
|
| - weak_factory_.GetWeakPtr(), base::Passed(&rgb_frame)));
|
| + weak_factory_.GetWeakPtr(), base::Passed(&rgb_frame)),
|
| + render_delay);
|
| }
|
|
|
| void WebrtcVideoRendererAdapter::DrawFrame(
|
|
|