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

Unified Diff: media/video/capture/screen/screen_capturer_fake.cc

Issue 12096071: Adding a unit test to verify the IPC channel between the network and desktop processes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: CR feedback. Created 7 years, 10 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
« no previous file with comments | « media/video/capture/screen/screen_capturer_fake.h ('k') | remoting/host/chromoting_messages.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/video/capture/screen/screen_capturer_fake.cc
diff --git a/media/video/capture/screen/screen_capturer_fake.cc b/media/video/capture/screen/screen_capturer_fake.cc
index d069d5425d6e8cc5f48273370cb0784ac136fbf5..5db2765110808cd257127c607248934b02ae3ecd 100644
--- a/media/video/capture/screen/screen_capturer_fake.cc
+++ b/media/video/capture/screen/screen_capturer_fake.cc
@@ -39,6 +39,18 @@ ScreenCapturerFake::~ScreenCapturerFake() {
void ScreenCapturerFake::Start(Delegate* delegate) {
delegate_ = delegate;
+
+ // Create memory for the buffers.
+ int buffer_size = size_.height() * bytes_per_row_;
Cris Neckar 2013/02/06 19:31:24 nit: size_t
alexeypa (please no reviews) 2013/02/06 22:58:39 width, height and bytes_per_row_ are all |int| her
+ for (int i = 0; i < kNumBuffers; i++) {
+ shared_buffers_[i] = delegate_->CreateSharedBuffer(buffer_size);
+ if (shared_buffers_[i]) {
+ buffers_[i] = reinterpret_cast<uint8*>(shared_buffers_[i]->ptr());
+ } else {
+ private_buffers_[i].reset(new uint8[buffer_size]);
+ buffers_[i] = private_buffers_[i].get();
+ }
+ }
}
void ScreenCapturerFake::Stop() {
@@ -60,10 +72,12 @@ void ScreenCapturerFake::CaptureFrame() {
current_buffer_ = (current_buffer_ + 1) % kNumBuffers;
scoped_refptr<ScreenCaptureData> capture_data(new ScreenCaptureData(
- buffers_[current_buffer_].get(), bytes_per_row_, size_));
+ buffers_[current_buffer_], bytes_per_row_, size_));
capture_data->mutable_dirty_region() = invalid_region;
- helper_.set_size_most_recent(capture_data->size());
+ helper_.set_size_most_recent(size_);
+
+ capture_data->set_shared_buffer(shared_buffers_[current_buffer_]);
capture_data->set_capture_time_ms(
(base::Time::Now() - capture_start_time).InMillisecondsRoundedUp());
@@ -71,10 +85,10 @@ void ScreenCapturerFake::CaptureFrame() {
}
void ScreenCapturerFake::GenerateImage() {
- memset(buffers_[current_buffer_].get(), 0xff,
+ memset(buffers_[current_buffer_], 0xff,
size_.width() * size_.height() * ScreenCaptureData::kBytesPerPixel);
- uint8* row = buffers_[current_buffer_].get() +
+ uint8* row = buffers_[current_buffer_] +
(box_pos_y_ * size_.width() + box_pos_x_) *
ScreenCaptureData::kBytesPerPixel;
@@ -107,12 +121,6 @@ void ScreenCapturerFake::GenerateImage() {
void ScreenCapturerFake::ScreenConfigurationChanged() {
size_ = SkISize::Make(kWidth, kHeight);
bytes_per_row_ = size_.width() * ScreenCaptureData::kBytesPerPixel;
-
- // Create memory for the buffers.
- int buffer_size = size_.height() * bytes_per_row_;
- for (int i = 0; i < kNumBuffers; i++) {
- buffers_[i].reset(new uint8[buffer_size]);
- }
}
} // namespace media
« no previous file with comments | « media/video/capture/screen/screen_capturer_fake.h ('k') | remoting/host/chromoting_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698