| Index: remoting/host/desktop_process.cc
|
| diff --git a/remoting/host/desktop_process.cc b/remoting/host/desktop_process.cc
|
| index 7f3d7301b2e97c93d1d55bba8d861163d2523f8f..6fcb4ff7e5893b3837924d54ee7d8810c8fb522b 100644
|
| --- a/remoting/host/desktop_process.cc
|
| +++ b/remoting/host/desktop_process.cc
|
| @@ -18,8 +18,6 @@
|
| #include "remoting/host/chromoting_messages.h"
|
| #include "remoting/host/desktop_session_agent.h"
|
|
|
| -const char kIoThreadName[] = "I/O thread";
|
| -
|
| namespace remoting {
|
|
|
| DesktopProcess::DesktopProcess(
|
| @@ -60,7 +58,8 @@ void DesktopProcess::OnChannelError() {
|
|
|
| // Shutdown the desktop process.
|
| daemon_channel_.reset();
|
| - desktop_agent_.reset();
|
| + desktop_agent_->Stop();
|
| + desktop_agent_ = NULL;
|
| caller_task_runner_ = NULL;
|
| }
|
|
|
| @@ -69,12 +68,17 @@ bool DesktopProcess::Start() {
|
|
|
| // Launch the I/O thread.
|
| scoped_refptr<AutoThreadTaskRunner> io_task_runner =
|
| - AutoThread::CreateWithType(kIoThreadName, caller_task_runner_,
|
| + AutoThread::CreateWithType("I/O thread", caller_task_runner_,
|
| MessageLoop::TYPE_IO);
|
|
|
| + // Launch the video capture thread.
|
| + scoped_refptr<AutoThreadTaskRunner> video_capture_task_runner =
|
| + AutoThread::Create("Video capture thread", caller_task_runner_);
|
| +
|
| // Create a desktop agent.
|
| desktop_agent_ = DesktopSessionAgent::Create(caller_task_runner_,
|
| - io_task_runner);
|
| + io_task_runner,
|
| + video_capture_task_runner);
|
|
|
| // Start the agent and create an IPC channel to talk to it. It is safe to
|
| // use base::Unretained(this) here because the message loop below will run
|
| @@ -83,7 +87,8 @@ bool DesktopProcess::Start() {
|
| if (!desktop_agent_->Start(base::Bind(&DesktopProcess::OnChannelError,
|
| base::Unretained(this)),
|
| &desktop_pipe)) {
|
| - desktop_agent_.reset();
|
| + desktop_agent_ = NULL;
|
| + caller_task_runner_ = NULL;
|
| return false;
|
| }
|
|
|
|
|