Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(279)

Unified Diff: remoting/protocol/webrtc_frame_scheduler.cc

Issue 2050353002: Update webrtc::DesktopCapturer clients to implement OnCaptureResult(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/protocol/webrtc_frame_scheduler.cc
diff --git a/remoting/protocol/webrtc_frame_scheduler.cc b/remoting/protocol/webrtc_frame_scheduler.cc
index b4ad00a24eb519067b67cfdd936c09069fe5aef6..9bed5ed2be0b693bfae064ef95b25872c3aaf773 100644
--- a/remoting/protocol/webrtc_frame_scheduler.cc
+++ b/remoting/protocol/webrtc_frame_scheduler.cc
@@ -125,7 +125,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();
@@ -133,7 +135,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
@@ -163,7 +165,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()));

Powered by Google App Engine
This is Rietveld 408576698