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

Side by Side Diff: remoting/host/ipc_desktop_environment.cc

Issue 1673723002: Use IpcVideoFrameCapturer on network thread instead of capturer thread. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ipc_desktop_environment.h" 5 #include "remoting/host/ipc_desktop_environment.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 10 matching lines...) Expand all
21 #include "remoting/host/screen_controls.h" 21 #include "remoting/host/screen_controls.h"
22 #include "remoting/host/security_key/gnubby_auth_handler.h" 22 #include "remoting/host/security_key/gnubby_auth_handler.h"
23 #include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h" 23 #include "third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor.h"
24 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h" 24 #include "third_party/webrtc/modules/desktop_capture/screen_capturer.h"
25 25
26 namespace remoting { 26 namespace remoting {
27 27
28 IpcDesktopEnvironment::IpcDesktopEnvironment( 28 IpcDesktopEnvironment::IpcDesktopEnvironment(
29 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner, 29 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner,
30 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 30 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
31 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner,
32 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, 31 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
33 base::WeakPtr<ClientSessionControl> client_session_control, 32 base::WeakPtr<ClientSessionControl> client_session_control,
34 base::WeakPtr<DesktopSessionConnector> desktop_session_connector, 33 base::WeakPtr<DesktopSessionConnector> desktop_session_connector,
35 bool virtual_terminal, 34 bool virtual_terminal,
36 bool supports_touch_events) { 35 bool supports_touch_events) {
37 DCHECK(caller_task_runner->BelongsToCurrentThread()); 36 DCHECK(caller_task_runner->BelongsToCurrentThread());
38 37
39 desktop_session_proxy_ = new DesktopSessionProxy(audio_task_runner, 38 desktop_session_proxy_ = new DesktopSessionProxy(
40 caller_task_runner, 39 audio_task_runner, caller_task_runner, io_task_runner,
41 io_task_runner, 40 client_session_control, desktop_session_connector, virtual_terminal,
42 capture_task_runner, 41 supports_touch_events);
43 client_session_control,
44 desktop_session_connector,
45 virtual_terminal,
46 supports_touch_events);
47 } 42 }
48 43
49 IpcDesktopEnvironment::~IpcDesktopEnvironment() { 44 IpcDesktopEnvironment::~IpcDesktopEnvironment() {}
50 }
51 45
52 scoped_ptr<AudioCapturer> IpcDesktopEnvironment::CreateAudioCapturer() { 46 scoped_ptr<AudioCapturer> IpcDesktopEnvironment::CreateAudioCapturer() {
53 return desktop_session_proxy_->CreateAudioCapturer(); 47 return desktop_session_proxy_->CreateAudioCapturer();
54 } 48 }
55 49
56 scoped_ptr<InputInjector> IpcDesktopEnvironment::CreateInputInjector() { 50 scoped_ptr<InputInjector> IpcDesktopEnvironment::CreateInputInjector() {
57 return desktop_session_proxy_->CreateInputInjector(); 51 return desktop_session_proxy_->CreateInputInjector();
58 } 52 }
59 53
60 scoped_ptr<ScreenControls> IpcDesktopEnvironment::CreateScreenControls() { 54 scoped_ptr<ScreenControls> IpcDesktopEnvironment::CreateScreenControls() {
(...skipping 19 matching lines...) Expand all
80 } 74 }
81 75
82 scoped_ptr<GnubbyAuthHandler> IpcDesktopEnvironment::CreateGnubbyAuthHandler( 76 scoped_ptr<GnubbyAuthHandler> IpcDesktopEnvironment::CreateGnubbyAuthHandler(
83 protocol::ClientStub* client_stub) { 77 protocol::ClientStub* client_stub) {
84 return nullptr; 78 return nullptr;
85 } 79 }
86 80
87 IpcDesktopEnvironmentFactory::IpcDesktopEnvironmentFactory( 81 IpcDesktopEnvironmentFactory::IpcDesktopEnvironmentFactory(
88 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner, 82 scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner,
89 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner, 83 scoped_refptr<base::SingleThreadTaskRunner> caller_task_runner,
90 scoped_refptr<base::SingleThreadTaskRunner> capture_task_runner,
91 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, 84 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner,
92 IPC::Sender* daemon_channel) 85 IPC::Sender* daemon_channel)
93 : audio_task_runner_(audio_task_runner), 86 : audio_task_runner_(audio_task_runner),
94 caller_task_runner_(caller_task_runner), 87 caller_task_runner_(caller_task_runner),
95 capture_task_runner_(capture_task_runner),
96 io_task_runner_(io_task_runner), 88 io_task_runner_(io_task_runner),
97 curtain_enabled_(false),
98 daemon_channel_(daemon_channel), 89 daemon_channel_(daemon_channel),
99 next_id_(0), 90 connector_factory_(this) {}
100 connector_factory_(this),
101 supports_touch_events_(false) {
102 }
103 91
104 IpcDesktopEnvironmentFactory::~IpcDesktopEnvironmentFactory() { 92 IpcDesktopEnvironmentFactory::~IpcDesktopEnvironmentFactory() {}
105 }
106 93
107 scoped_ptr<DesktopEnvironment> IpcDesktopEnvironmentFactory::Create( 94 scoped_ptr<DesktopEnvironment> IpcDesktopEnvironmentFactory::Create(
108 base::WeakPtr<ClientSessionControl> client_session_control) { 95 base::WeakPtr<ClientSessionControl> client_session_control) {
109 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 96 DCHECK(caller_task_runner_->BelongsToCurrentThread());
110 97
111 return make_scoped_ptr( 98 return make_scoped_ptr(new IpcDesktopEnvironment(
112 new IpcDesktopEnvironment(audio_task_runner_, 99 audio_task_runner_, caller_task_runner_, io_task_runner_,
113 caller_task_runner_, 100 client_session_control, connector_factory_.GetWeakPtr(), curtain_enabled_,
114 capture_task_runner_, 101 supports_touch_events_));
115 io_task_runner_,
116 client_session_control,
117 connector_factory_.GetWeakPtr(),
118 curtain_enabled_,
119 supports_touch_events_));
120 } 102 }
121 103
122 void IpcDesktopEnvironmentFactory::SetEnableCurtaining(bool enable) { 104 void IpcDesktopEnvironmentFactory::SetEnableCurtaining(bool enable) {
123 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 105 DCHECK(caller_task_runner_->BelongsToCurrentThread());
124 106
125 curtain_enabled_ = enable; 107 curtain_enabled_ = enable;
126 } 108 }
127 109
128 bool IpcDesktopEnvironmentFactory::SupportsAudioCapture() const { 110 bool IpcDesktopEnvironmentFactory::SupportsAudioCapture() const {
129 DCHECK(caller_task_runner_->BelongsToCurrentThread()); 111 DCHECK(caller_task_runner_->BelongsToCurrentThread());
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 if (i != active_connections_.end()) { 203 if (i != active_connections_.end()) {
222 DesktopSessionProxy* desktop_session_proxy = i->second; 204 DesktopSessionProxy* desktop_session_proxy = i->second;
223 active_connections_.erase(i); 205 active_connections_.erase(i);
224 206
225 // Disconnect the client session. 207 // Disconnect the client session.
226 desktop_session_proxy->DisconnectSession(protocol::OK); 208 desktop_session_proxy->DisconnectSession(protocol::OK);
227 } 209 }
228 } 210 }
229 211
230 } // namespace remoting 212 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/host/ipc_desktop_environment.h ('k') | remoting/host/ipc_desktop_environment_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698