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/host/desktop_capturer_proxy.h" | 5 #include "remoting/host/desktop_capturer_proxy.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/location.h" | 8 #include "base/location.h" |
9 #include "base/single_thread_task_runner.h" | 9 #include "base/single_thread_task_runner.h" |
10 #include "base/thread_task_runner_handle.h" | 10 #include "base/thread_task_runner_handle.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 | 37 |
38 DISALLOW_COPY_AND_ASSIGN(Core); | 38 DISALLOW_COPY_AND_ASSIGN(Core); |
39 }; | 39 }; |
40 | 40 |
41 DesktopCapturerProxy::Core::Core( | 41 DesktopCapturerProxy::Core::Core( |
42 base::WeakPtr<DesktopCapturerProxy> proxy, | 42 base::WeakPtr<DesktopCapturerProxy> proxy, |
43 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner, | 43 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner, |
44 scoped_ptr<webrtc::DesktopCapturer> capturer) | 44 scoped_ptr<webrtc::DesktopCapturer> capturer) |
45 : proxy_(proxy), | 45 : proxy_(proxy), |
46 caller_task_runner_(base::ThreadTaskRunnerHandle::Get()), | 46 caller_task_runner_(base::ThreadTaskRunnerHandle::Get()), |
47 capturer_(capturer.Pass()) { | 47 capturer_(std::move(capturer)) { |
48 thread_checker_.DetachFromThread(); | 48 thread_checker_.DetachFromThread(); |
49 } | 49 } |
50 | 50 |
51 DesktopCapturerProxy::Core::~Core() { | 51 DesktopCapturerProxy::Core::~Core() { |
52 DCHECK(thread_checker_.CalledOnValidThread()); | 52 DCHECK(thread_checker_.CalledOnValidThread()); |
53 } | 53 } |
54 | 54 |
55 void DesktopCapturerProxy::Core::Start() { | 55 void DesktopCapturerProxy::Core::Start() { |
56 DCHECK(thread_checker_.CalledOnValidThread()); | 56 DCHECK(thread_checker_.CalledOnValidThread()); |
57 capturer_->Start(this); | 57 capturer_->Start(this); |
(...skipping 22 matching lines...) Expand all Loading... |
80 FROM_HERE, base::Bind(&DesktopCapturerProxy::OnFrameCaptured, proxy_, | 80 FROM_HERE, base::Bind(&DesktopCapturerProxy::OnFrameCaptured, proxy_, |
81 base::Passed(make_scoped_ptr(frame)))); | 81 base::Passed(make_scoped_ptr(frame)))); |
82 } | 82 } |
83 | 83 |
84 DesktopCapturerProxy::DesktopCapturerProxy( | 84 DesktopCapturerProxy::DesktopCapturerProxy( |
85 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner, | 85 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner, |
86 scoped_ptr<webrtc::DesktopCapturer> capturer) | 86 scoped_ptr<webrtc::DesktopCapturer> capturer) |
87 : capture_task_runner_(capture_task_runner), | 87 : capture_task_runner_(capture_task_runner), |
88 weak_factory_(this) { | 88 weak_factory_(this) { |
89 core_.reset(new Core(weak_factory_.GetWeakPtr(), capture_task_runner, | 89 core_.reset(new Core(weak_factory_.GetWeakPtr(), capture_task_runner, |
90 capturer.Pass())); | 90 std::move(capturer))); |
91 } | 91 } |
92 | 92 |
93 void DesktopCapturerProxy::Start(Callback* callback) { | 93 void DesktopCapturerProxy::Start(Callback* callback) { |
94 DCHECK(thread_checker_.CalledOnValidThread()); | 94 DCHECK(thread_checker_.CalledOnValidThread()); |
95 | 95 |
96 callback_ = callback; | 96 callback_ = callback; |
97 | 97 |
98 capture_task_runner_->PostTask( | 98 capture_task_runner_->PostTask( |
99 FROM_HERE, base::Bind(&Core::Start, base::Unretained(core_.get()))); | 99 FROM_HERE, base::Bind(&Core::Start, base::Unretained(core_.get()))); |
100 } | 100 } |
(...skipping 16 matching lines...) Expand all Loading... |
117 } | 117 } |
118 | 118 |
119 void DesktopCapturerProxy::OnFrameCaptured( | 119 void DesktopCapturerProxy::OnFrameCaptured( |
120 scoped_ptr<webrtc::DesktopFrame> frame) { | 120 scoped_ptr<webrtc::DesktopFrame> frame) { |
121 DCHECK(thread_checker_.CalledOnValidThread()); | 121 DCHECK(thread_checker_.CalledOnValidThread()); |
122 | 122 |
123 callback_->OnCaptureCompleted(frame.release()); | 123 callback_->OnCaptureCompleted(frame.release()); |
124 } | 124 } |
125 | 125 |
126 } // namespace remoting | 126 } // namespace remoting |
OLD | NEW |