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())); |