Chromium Code Reviews| 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 |