OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/protocol/fake_desktop_capturer.h" | 5 #include "remoting/protocol/fake_desktop_capturer.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 class DefaultFrameGenerator | 34 class DefaultFrameGenerator |
35 : public base::RefCountedThreadSafe<DefaultFrameGenerator> { | 35 : public base::RefCountedThreadSafe<DefaultFrameGenerator> { |
36 public: | 36 public: |
37 DefaultFrameGenerator() | 37 DefaultFrameGenerator() |
38 : box_pos_x_(0), | 38 : box_pos_x_(0), |
39 box_pos_y_(0), | 39 box_pos_y_(0), |
40 box_speed_x_(kSpeed), | 40 box_speed_x_(kSpeed), |
41 box_speed_y_(kSpeed), | 41 box_speed_y_(kSpeed), |
42 first_frame_(true) {} | 42 first_frame_(true) {} |
43 | 43 |
44 scoped_ptr<webrtc::DesktopFrame> GenerateFrame( | 44 std::unique_ptr<webrtc::DesktopFrame> GenerateFrame( |
45 webrtc::SharedMemoryFactory* shared_memory_factory); | 45 webrtc::SharedMemoryFactory* shared_memory_factory); |
46 | 46 |
47 private: | 47 private: |
48 friend class base::RefCountedThreadSafe<DefaultFrameGenerator>; | 48 friend class base::RefCountedThreadSafe<DefaultFrameGenerator>; |
49 ~DefaultFrameGenerator() {} | 49 ~DefaultFrameGenerator() {} |
50 | 50 |
51 webrtc::DesktopSize size_; | 51 webrtc::DesktopSize size_; |
52 int box_pos_x_; | 52 int box_pos_x_; |
53 int box_pos_y_; | 53 int box_pos_y_; |
54 int box_speed_x_; | 54 int box_speed_x_; |
55 int box_speed_y_; | 55 int box_speed_y_; |
56 bool first_frame_; | 56 bool first_frame_; |
57 | 57 |
58 DISALLOW_COPY_AND_ASSIGN(DefaultFrameGenerator); | 58 DISALLOW_COPY_AND_ASSIGN(DefaultFrameGenerator); |
59 }; | 59 }; |
60 | 60 |
61 scoped_ptr<webrtc::DesktopFrame> DefaultFrameGenerator::GenerateFrame( | 61 std::unique_ptr<webrtc::DesktopFrame> DefaultFrameGenerator::GenerateFrame( |
62 webrtc::SharedMemoryFactory* shared_memory_factory) { | 62 webrtc::SharedMemoryFactory* shared_memory_factory) { |
63 const int kBytesPerPixel = webrtc::DesktopFrame::kBytesPerPixel; | 63 const int kBytesPerPixel = webrtc::DesktopFrame::kBytesPerPixel; |
64 scoped_ptr<webrtc::DesktopFrame> frame; | 64 std::unique_ptr<webrtc::DesktopFrame> frame; |
65 if (shared_memory_factory) { | 65 if (shared_memory_factory) { |
66 int buffer_size = kWidth * kHeight * kBytesPerPixel; | 66 int buffer_size = kWidth * kHeight * kBytesPerPixel; |
67 frame.reset(new webrtc::SharedMemoryDesktopFrame( | 67 frame.reset(new webrtc::SharedMemoryDesktopFrame( |
68 webrtc::DesktopSize(kWidth, kHeight), kWidth * kBytesPerPixel, | 68 webrtc::DesktopSize(kWidth, kHeight), kWidth * kBytesPerPixel, |
69 shared_memory_factory->CreateSharedMemory(buffer_size).release())); | 69 shared_memory_factory->CreateSharedMemory(buffer_size).release())); |
70 } else { | 70 } else { |
71 frame.reset( | 71 frame.reset( |
72 new webrtc::BasicDesktopFrame(webrtc::DesktopSize(kWidth, kHeight))); | 72 new webrtc::BasicDesktopFrame(webrtc::DesktopSize(kWidth, kHeight))); |
73 } | 73 } |
74 | 74 |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 callback_ = callback; | 140 callback_ = callback; |
141 } | 141 } |
142 | 142 |
143 void FakeDesktopCapturer::SetSharedMemoryFactory( | 143 void FakeDesktopCapturer::SetSharedMemoryFactory( |
144 rtc::scoped_ptr<webrtc::SharedMemoryFactory> shared_memory_factory) { | 144 rtc::scoped_ptr<webrtc::SharedMemoryFactory> shared_memory_factory) { |
145 shared_memory_factory_.reset(shared_memory_factory.release()); | 145 shared_memory_factory_.reset(shared_memory_factory.release()); |
146 } | 146 } |
147 | 147 |
148 void FakeDesktopCapturer::Capture(const webrtc::DesktopRegion& region) { | 148 void FakeDesktopCapturer::Capture(const webrtc::DesktopRegion& region) { |
149 base::Time capture_start_time = base::Time::Now(); | 149 base::Time capture_start_time = base::Time::Now(); |
150 scoped_ptr<webrtc::DesktopFrame> frame = | 150 std::unique_ptr<webrtc::DesktopFrame> frame = |
151 frame_generator_.Run(shared_memory_factory_.get()); | 151 frame_generator_.Run(shared_memory_factory_.get()); |
152 if (frame) { | 152 if (frame) { |
153 frame->set_capture_time_ms( | 153 frame->set_capture_time_ms( |
154 (base::Time::Now() - capture_start_time).InMillisecondsRoundedUp()); | 154 (base::Time::Now() - capture_start_time).InMillisecondsRoundedUp()); |
155 } | 155 } |
156 callback_->OnCaptureCompleted(frame.release()); | 156 callback_->OnCaptureCompleted(frame.release()); |
157 } | 157 } |
158 | 158 |
159 } // namespace protocol | 159 } // namespace protocol |
160 } // namespace remoting | 160 } // namespace remoting |
OLD | NEW |