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

Side by Side Diff: remoting/host/screen_recorder.cc

Issue 7491070: Switch over to using SkRegions to calculate dirty areas. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clean up comments Created 9 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "remoting/host/screen_recorder.h" 5 #include "remoting/host/screen_recorder.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 } 210 }
211 211
212 TraceContext::tracer()->PrintString("Capture Started"); 212 TraceContext::tracer()->PrintString("Capture Started");
213 213
214 // At this point we are going to perform one capture so save the current time. 214 // At this point we are going to perform one capture so save the current time.
215 ++recordings_; 215 ++recordings_;
216 DCHECK_LE(recordings_, kMaxRecordings); 216 DCHECK_LE(recordings_, kMaxRecordings);
217 217
218 // And finally perform one capture. 218 // And finally perform one capture.
219 capture_start_time_ = base::Time::Now(); 219 capture_start_time_ = base::Time::Now();
220 capturer()->CaptureInvalidRects( 220 capturer()->CaptureInvalidRegion(
221 NewCallback(this, &ScreenRecorder::CaptureDoneCallback)); 221 NewCallback(this, &ScreenRecorder::CaptureDoneCallback));
222 } 222 }
223 223
224 void ScreenRecorder::CaptureDoneCallback( 224 void ScreenRecorder::CaptureDoneCallback(
225 scoped_refptr<CaptureData> capture_data) { 225 scoped_refptr<CaptureData> capture_data) {
226 DCHECK_EQ(capture_loop_, MessageLoop::current()); 226 DCHECK_EQ(capture_loop_, MessageLoop::current());
227 227
228 if (!is_recording_) 228 if (!is_recording_)
229 return; 229 return;
230 230
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 } 357 }
358 358
359 // Encoder thread -------------------------------------------------------------- 359 // Encoder thread --------------------------------------------------------------
360 360
361 void ScreenRecorder::DoEncode( 361 void ScreenRecorder::DoEncode(
362 scoped_refptr<CaptureData> capture_data) { 362 scoped_refptr<CaptureData> capture_data) {
363 DCHECK_EQ(encode_loop_, MessageLoop::current()); 363 DCHECK_EQ(encode_loop_, MessageLoop::current());
364 TraceContext::tracer()->PrintString("DoEncode called"); 364 TraceContext::tracer()->PrintString("DoEncode called");
365 365
366 // Early out if there's nothing to encode. 366 // Early out if there's nothing to encode.
367 if (!capture_data || !capture_data->dirty_rects().size()) { 367 if (!capture_data || capture_data->dirty_region().isEmpty()) {
368 // Send an empty video packet to keep network active. 368 // Send an empty video packet to keep network active.
369 VideoPacket* packet = new VideoPacket(); 369 VideoPacket* packet = new VideoPacket();
370 packet->set_flags(VideoPacket::LAST_PARTITION); 370 packet->set_flags(VideoPacket::LAST_PARTITION);
371 network_loop_->PostTask( 371 network_loop_->PostTask(
372 FROM_HERE, 372 FROM_HERE,
373 NewTracedMethod(this, 373 NewTracedMethod(this,
374 &ScreenRecorder::DoSendVideoPacket, 374 &ScreenRecorder::DoSendVideoPacket,
375 packet)); 375 packet));
376 return; 376 return;
377 } 377 }
(...skipping 25 matching lines...) Expand all
403 (base::Time::Now() - encode_start_time_).InMilliseconds()); 403 (base::Time::Now() - encode_start_time_).InMilliseconds());
404 packet->set_encode_time_ms(encode_time); 404 packet->set_encode_time_ms(encode_time);
405 } 405 }
406 406
407 network_loop_->PostTask( 407 network_loop_->PostTask(
408 FROM_HERE, 408 FROM_HERE,
409 NewTracedMethod(this, &ScreenRecorder::DoSendVideoPacket, packet)); 409 NewTracedMethod(this, &ScreenRecorder::DoSendVideoPacket, packet));
410 } 410 }
411 411
412 } // namespace remoting 412 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698