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

Unified Diff: remoting/host/chromoting_host.cc

Issue 5298001: Use VP8 over PseudoTCP by default. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: - Created 10 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: remoting/host/chromoting_host.cc
diff --git a/remoting/host/chromoting_host.cc b/remoting/host/chromoting_host.cc
index 67798a960bdb242725c5b278c63bf8da7fe1e8ff..68f4846daad2d1318d07e1d7e3ec488c003f492d 100644
--- a/remoting/host/chromoting_host.cc
+++ b/remoting/host/chromoting_host.cc
@@ -8,21 +8,13 @@
#include "base/task.h"
#include "build/build_config.h"
#include "remoting/base/constants.h"
-#if defined(OS_WIN)
-#include "remoting/host/capturer_gdi.h"
-#include "remoting/host/event_executor_win.h"
-#elif defined(OS_LINUX)
-#include "remoting/host/capturer_linux.h"
-#include "remoting/host/event_executor_linux.h"
-#elif defined(OS_MACOSX)
-#include "remoting/host/capturer_mac.h"
-#include "remoting/host/event_executor_mac.h"
-#endif
#include "remoting/base/encoder.h"
#include "remoting/base/encoder_verbatim.h"
#include "remoting/base/encoder_vp8.h"
#include "remoting/base/encoder_zlib.h"
+#include "remoting/host/capturer.h"
#include "remoting/host/chromoting_host_context.h"
+#include "remoting/host/event_executor.h"
#include "remoting/host/host_config.h"
#include "remoting/host/host_stub_fake.h"
#include "remoting/host/session_manager.h"
@@ -36,28 +28,19 @@ using remoting::protocol::ConnectionToClient;
namespace remoting {
-ChromotingHost::ChromotingHost(ChromotingHostContext* context,
- MutableHostConfig* config)
- : context_(context),
- config_(config),
-#if defined(OS_WIN)
- capturer_(new remoting::CapturerGdi(
- context->main_message_loop())),
- input_stub_(new remoting::EventExecutorWin(
- context->main_message_loop(), capturer_.get())),
-#elif defined(OS_LINUX)
- capturer_(new remoting::CapturerLinux(
- context->main_message_loop())),
- input_stub_(new remoting::EventExecutorLinux(
- context->main_message_loop(), capturer_.get())),
-#elif defined(OS_MACOSX)
- capturer_(new remoting::CapturerMac(
- context->main_message_loop())),
- input_stub_(new remoting::EventExecutorMac(
- context->main_message_loop(), capturer_.get())),
-#endif
- host_stub_(new HostStubFake()),
- state_(kInitial) {
+// static
+ChromotingHost* ChromotingHost::Create(ChromotingHostContext* context,
+ MutableHostConfig* config) {
+ return new ChromotingHost(
+ context, config,
dmac 2010/11/23 01:14:57 any reason not to have these up on line 34?
Sergey Ulanov 2010/11/23 01:59:18 Done.
+ Capturer::Create(context->main_message_loop()));
+}
+
+// static
+ChromotingHost* ChromotingHost::Create(ChromotingHostContext* context,
+ MutableHostConfig* config,
+ Capturer* capturer) {
+ return new ChromotingHost(context, config, capturer);
}
ChromotingHost::ChromotingHost(ChromotingHostContext* context,
@@ -65,20 +48,14 @@ ChromotingHost::ChromotingHost(ChromotingHostContext* context,
: context_(context),
config_(config),
capturer_(capturer),
-#if defined(OS_WIN)
- input_stub_(new remoting::EventExecutorWin(
- context->main_message_loop(), capturer)),
-#elif defined(OS_LINUX)
- input_stub_(new remoting::EventExecutorLinux(
+ input_stub_(EventExecutor::Create(
context->main_message_loop(), capturer)),
-#elif defined(OS_MACOSX)
- input_stub_(new remoting::EventExecutorMac(
- context->main_message_loop(), capturer)),
-#endif
host_stub_(new HostStubFake()),
- state_(kInitial) {
+ state_(kInitial),
+ protocol_config_(protocol::CandidateSessionConfig::CreateDefault()) {
}
+
ChromotingHost::~ChromotingHost() {
}
@@ -293,12 +270,10 @@ void ChromotingHost::OnNewClientSession(
return;
}
- scoped_ptr<protocol::CandidateSessionConfig>
- local_config(protocol::CandidateSessionConfig::CreateDefault());
- local_config->SetInitialResolution(
- protocol::ScreenResolution(capturer_->width(), capturer_->height()));
+ *protocol_config_->mutable_initial_resolution() =
+ protocol::ScreenResolution(capturer_->width(), capturer_->height());
// TODO(sergeyu): Respect resolution requested by the client if supported.
- protocol::SessionConfig* config = local_config->Select(
+ protocol::SessionConfig* config = protocol_config_->Select(
session->candidate_config(), true /* force_host_resolution */);
if (!config) {
@@ -322,6 +297,12 @@ void ChromotingHost::OnNewClientSession(
connection_->Init(session);
}
+void ChromotingHost::set_protocol_config(
+ protocol::CandidateSessionConfig* config) {
+ DCHECK_EQ(state_, kInitial);
+ protocol_config_.reset(config);
+}
+
void ChromotingHost::OnServerClosed() {
// Don't need to do anything here.
}

Powered by Google App Engine
This is Rietveld 408576698