summaryrefslogtreecommitdiffstats
path: root/remoting/protocol
diff options
context:
space:
mode:
authorsergeyu <sergeyu@chromium.org>2016-02-12 11:37:48 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-12 19:38:39 +0000
commit01cd66fb59834fc950146580fab0b94fdecb9730 (patch)
tree450e1150053c7b3f875f982674195038ee8e7e46 /remoting/protocol
parent8e8a03dbf4d42a44c4ade6c9566256ad815832ed (diff)
downloadchromium_src-01cd66fb59834fc950146580fab0b94fdecb9730.zip
chromium_src-01cd66fb59834fc950146580fab0b94fdecb9730.tar.gz
chromium_src-01cd66fb59834fc950146580fab0b94fdecb9730.tar.bz2
Update webrtc::DesktopCapturere clients to use SharedMemoryFactory
webrtc::DesktopCapturer::Callback::CreateSharedMemory() has been deprecated and webrtc::SharedMemoryFactory should be used instead now. Review URL: https://codereview.chromium.org/1690853002 Cr-Commit-Position: refs/heads/master@{#375224}
Diffstat (limited to 'remoting/protocol')
-rw-r--r--remoting/protocol/fake_desktop_capturer.cc25
-rw-r--r--remoting/protocol/fake_desktop_capturer.h7
-rw-r--r--remoting/protocol/video_frame_pump_unittest.cc4
3 files changed, 22 insertions, 14 deletions
diff --git a/remoting/protocol/fake_desktop_capturer.cc b/remoting/protocol/fake_desktop_capturer.cc
index ae7ff5a..290ef49 100644
--- a/remoting/protocol/fake_desktop_capturer.cc
+++ b/remoting/protocol/fake_desktop_capturer.cc
@@ -35,22 +35,20 @@ class DefaultFrameGenerator
: public base::RefCountedThreadSafe<DefaultFrameGenerator> {
public:
DefaultFrameGenerator()
- : bytes_per_row_(0),
- box_pos_x_(0),
+ : box_pos_x_(0),
box_pos_y_(0),
box_speed_x_(kSpeed),
box_speed_y_(kSpeed),
first_frame_(true) {}
scoped_ptr<webrtc::DesktopFrame> GenerateFrame(
- webrtc::DesktopCapturer::Callback* callback);
+ webrtc::SharedMemoryFactory* shared_memory_factory);
private:
friend class base::RefCountedThreadSafe<DefaultFrameGenerator>;
~DefaultFrameGenerator() {}
webrtc::DesktopSize size_;
- int bytes_per_row_;
int box_pos_x_;
int box_pos_y_;
int box_speed_x_;
@@ -61,15 +59,14 @@ class DefaultFrameGenerator
};
scoped_ptr<webrtc::DesktopFrame> DefaultFrameGenerator::GenerateFrame(
- webrtc::DesktopCapturer::Callback* callback) {
+ webrtc::SharedMemoryFactory* shared_memory_factory) {
const int kBytesPerPixel = webrtc::DesktopFrame::kBytesPerPixel;
- int buffer_size = kWidth * kHeight * kBytesPerPixel;
- webrtc::SharedMemory* shared_memory =
- callback->CreateSharedMemory(buffer_size);
scoped_ptr<webrtc::DesktopFrame> frame;
- if (shared_memory) {
+ if (shared_memory_factory) {
+ int buffer_size = kWidth * kHeight * kBytesPerPixel;
frame.reset(new webrtc::SharedMemoryDesktopFrame(
- webrtc::DesktopSize(kWidth, kHeight), bytes_per_row_, shared_memory));
+ webrtc::DesktopSize(kWidth, kHeight), kWidth * kBytesPerPixel,
+ shared_memory_factory->CreateSharedMemory(buffer_size).release()));
} else {
frame.reset(
new webrtc::BasicDesktopFrame(webrtc::DesktopSize(kWidth, kHeight)));
@@ -143,9 +140,15 @@ void FakeDesktopCapturer::Start(Callback* callback) {
callback_ = callback;
}
+void FakeDesktopCapturer::SetSharedMemoryFactory(
+ rtc::scoped_ptr<webrtc::SharedMemoryFactory> shared_memory_factory) {
+ shared_memory_factory_.reset(shared_memory_factory.release());
+}
+
void FakeDesktopCapturer::Capture(const webrtc::DesktopRegion& region) {
base::Time capture_start_time = base::Time::Now();
- scoped_ptr<webrtc::DesktopFrame> frame = frame_generator_.Run(callback_);
+ scoped_ptr<webrtc::DesktopFrame> frame =
+ frame_generator_.Run(shared_memory_factory_.get());
if (frame) {
frame->set_capture_time_ms(
(base::Time::Now() - capture_start_time).InMillisecondsRoundedUp());
diff --git a/remoting/protocol/fake_desktop_capturer.h b/remoting/protocol/fake_desktop_capturer.h
index ab75aba..8cf294e 100644
--- a/remoting/protocol/fake_desktop_capturer.h
+++ b/remoting/protocol/fake_desktop_capturer.h
@@ -27,7 +27,8 @@ class FakeDesktopCapturer : public webrtc::DesktopCapturer {
static const int kHeight = 600;
typedef base::Callback<scoped_ptr<webrtc::DesktopFrame>(
- webrtc::DesktopCapturer::Callback* callback)> FrameGenerator;
+ webrtc::SharedMemoryFactory* shared_memory_factory)>
+ FrameGenerator;
FakeDesktopCapturer();
~FakeDesktopCapturer() override;
@@ -36,6 +37,8 @@ class FakeDesktopCapturer : public webrtc::DesktopCapturer {
// webrtc::DesktopCapturer interface.
void Start(Callback* callback) override;
+ void SetSharedMemoryFactory(rtc::scoped_ptr<webrtc::SharedMemoryFactory>
+ shared_memory_factory) override;
void Capture(const webrtc::DesktopRegion& rect) override;
private:
@@ -43,6 +46,8 @@ class FakeDesktopCapturer : public webrtc::DesktopCapturer {
Callback* callback_;
+ scoped_ptr<webrtc::SharedMemoryFactory> shared_memory_factory_;
+
DISALLOW_COPY_AND_ASSIGN(FakeDesktopCapturer);
};
diff --git a/remoting/protocol/video_frame_pump_unittest.cc b/remoting/protocol/video_frame_pump_unittest.cc
index 29e4133..023d831 100644
--- a/remoting/protocol/video_frame_pump_unittest.cc
+++ b/remoting/protocol/video_frame_pump_unittest.cc
@@ -41,12 +41,12 @@ ACTION(FinishSend) {
}
scoped_ptr<webrtc::DesktopFrame> CreateNullFrame(
- webrtc::DesktopCapturer::Callback*) {
+ webrtc::SharedMemoryFactory* shared_memory_factory) {
return nullptr;
}
scoped_ptr<webrtc::DesktopFrame> CreateUnchangedFrame(
- webrtc::DesktopCapturer::Callback*) {
+ webrtc::SharedMemoryFactory* shared_memory_factory) {
const webrtc::DesktopSize kSize(800, 640);
// updated_region() is already empty by default in new BasicDesktopFrames.
return make_scoped_ptr(new webrtc::BasicDesktopFrame(kSize));