| Index: remoting/protocol/webrtc_frame_scheduler.cc | 
| diff --git a/remoting/protocol/webrtc_frame_scheduler.cc b/remoting/protocol/webrtc_frame_scheduler.cc | 
| index 9dbd21f0bfe4fb250c4f0f14b61b7e5136fbc4de..0cab3d25bf04446d21471e51f1642e0cf359839e 100644 | 
| --- a/remoting/protocol/webrtc_frame_scheduler.cc | 
| +++ b/remoting/protocol/webrtc_frame_scheduler.cc | 
| @@ -118,7 +118,9 @@ bool WebrtcFrameScheduler::ClearAndGetKeyFrameRequest() { | 
| return key_frame_request; | 
| } | 
|  | 
| -void WebrtcFrameScheduler::OnCaptureCompleted(webrtc::DesktopFrame* frame) { | 
| +void WebrtcFrameScheduler::OnCaptureResult( | 
| +    webrtc::DesktopCapturer::Result result, | 
| +    std::unique_ptr<webrtc::DesktopFrame> frame) { | 
| DCHECK(thread_checker_.CalledOnValidThread()); | 
|  | 
| base::TimeTicks captured_ticks = base::TimeTicks::Now(); | 
| @@ -126,7 +128,7 @@ void WebrtcFrameScheduler::OnCaptureCompleted(webrtc::DesktopFrame* frame) { | 
| (captured_ticks - base::TimeTicks()).InMilliseconds(); | 
| capture_pending_ = false; | 
|  | 
| -  std::unique_ptr<webrtc::DesktopFrame> owned_frame(frame); | 
| +  // TODO(sergeyu): Handle ERROR_PERMANENT result here. | 
|  | 
| if (encode_pending_) { | 
| // TODO(isheriff): consider queuing here | 
| @@ -150,7 +152,7 @@ void WebrtcFrameScheduler::OnCaptureCompleted(webrtc::DesktopFrame* frame) { | 
| task_tracker_.PostTaskAndReplyWithResult( | 
| encode_task_runner_.get(), FROM_HERE, | 
| base::Bind(&WebrtcFrameScheduler::EncodeFrame, encoder_.get(), | 
| -                 base::Passed(std::move(owned_frame)), target_bitrate_kbps_, | 
| +                 base::Passed(&frame), target_bitrate_kbps_, | 
| ClearAndGetKeyFrameRequest(), capture_timestamp_ms), | 
| base::Bind(&WebrtcFrameScheduler::OnFrameEncoded, | 
| weak_factory_.GetWeakPtr())); | 
|  |