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

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

Issue 331853009: Add enable_vp9 option to host config. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
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 // This file implements a standalone host process for Me2Me. 5 // This file implements a standalone host process for Me2Me.
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/at_exit.h" 9 #include "base/at_exit.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 117
118 // The command line switch used to pass name of the unix domain socket used to 118 // The command line switch used to pass name of the unix domain socket used to
119 // listen for gnubby requests. 119 // listen for gnubby requests.
120 const char kAuthSocknameSwitchName[] = "ssh-auth-sockname"; 120 const char kAuthSocknameSwitchName[] = "ssh-auth-sockname";
121 #endif // defined(OS_LINUX) 121 #endif // defined(OS_LINUX)
122 122
123 // The command line switch used by the parent to request the host to signal it 123 // The command line switch used by the parent to request the host to signal it
124 // when it is successfully started. 124 // when it is successfully started.
125 const char kSignalParentSwitchName[] = "signal-parent"; 125 const char kSignalParentSwitchName[] = "signal-parent";
126 126
127 // Command line switch used to enable VP9 encoding.
128 const char kEnableVp9SwitchName[] = "enable-vp9";
129
127 // Value used for --host-config option to indicate that the path must be read 130 // Value used for --host-config option to indicate that the path must be read
128 // from stdin. 131 // from stdin.
129 const char kStdinConfigPath[] = "-"; 132 const char kStdinConfigPath[] = "-";
130 133
131 } // namespace 134 } // namespace
132 135
133 namespace remoting { 136 namespace remoting {
134 137
135 class HostProcess 138 class HostProcess
136 : public ConfigWatcher::Delegate, 139 : public ConfigWatcher::Delegate,
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 283
281 scoped_ptr<ConfigWatcher> config_watcher_; 284 scoped_ptr<ConfigWatcher> config_watcher_;
282 285
283 std::string host_id_; 286 std::string host_id_;
284 protocol::SharedSecretHash host_secret_hash_; 287 protocol::SharedSecretHash host_secret_hash_;
285 scoped_refptr<RsaKeyPair> key_pair_; 288 scoped_refptr<RsaKeyPair> key_pair_;
286 std::string oauth_refresh_token_; 289 std::string oauth_refresh_token_;
287 std::string serialized_config_; 290 std::string serialized_config_;
288 std::string host_owner_; 291 std::string host_owner_;
289 bool use_service_account_; 292 bool use_service_account_;
293 bool enable_vp9_;
290 294
291 scoped_ptr<policy_hack::PolicyWatcher> policy_watcher_; 295 scoped_ptr<policy_hack::PolicyWatcher> policy_watcher_;
292 std::string host_domain_; 296 std::string host_domain_;
293 bool host_username_match_required_; 297 bool host_username_match_required_;
294 bool allow_nat_traversal_; 298 bool allow_nat_traversal_;
295 bool allow_relay_; 299 bool allow_relay_;
296 int min_udp_port_; 300 int min_udp_port_;
297 int max_udp_port_; 301 int max_udp_port_;
298 std::string talkgadget_prefix_; 302 std::string talkgadget_prefix_;
299 bool allow_pairing_; 303 bool allow_pairing_;
(...skipping 24 matching lines...) Expand all
324 bool signal_parent_; 328 bool signal_parent_;
325 329
326 scoped_ptr<PairingRegistry::Delegate> pairing_registry_delegate_; 330 scoped_ptr<PairingRegistry::Delegate> pairing_registry_delegate_;
327 }; 331 };
328 332
329 HostProcess::HostProcess(scoped_ptr<ChromotingHostContext> context, 333 HostProcess::HostProcess(scoped_ptr<ChromotingHostContext> context,
330 int* exit_code_out) 334 int* exit_code_out)
331 : context_(context.Pass()), 335 : context_(context.Pass()),
332 state_(HOST_INITIALIZING), 336 state_(HOST_INITIALIZING),
333 use_service_account_(false), 337 use_service_account_(false),
338 enable_vp9_(
339 CommandLine::ForCurrentProcess()->HasSwitch(kEnableVp9SwitchName)),
334 host_username_match_required_(false), 340 host_username_match_required_(false),
335 allow_nat_traversal_(true), 341 allow_nat_traversal_(true),
336 allow_relay_(true), 342 allow_relay_(true),
337 min_udp_port_(0), 343 min_udp_port_(0),
338 max_udp_port_(0), 344 max_udp_port_(0),
339 allow_pairing_(true), 345 allow_pairing_(true),
340 curtain_required_(false), 346 curtain_required_(false),
341 enable_gnubby_auth_(false), 347 enable_gnubby_auth_(false),
342 #if defined(REMOTING_MULTI_PROCESS) 348 #if defined(REMOTING_MULTI_PROCESS)
343 desktop_session_connector_(NULL), 349 desktop_session_connector_(NULL),
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
809 } 815 }
810 816
811 if (config->GetString(kHostOwnerConfigPath, &host_owner_)) { 817 if (config->GetString(kHostOwnerConfigPath, &host_owner_)) {
812 // Service account configs have a host_owner, different from the xmpp_login. 818 // Service account configs have a host_owner, different from the xmpp_login.
813 use_service_account_ = true; 819 use_service_account_ = true;
814 } else { 820 } else {
815 // User credential configs only have an xmpp_login, which is also the owner. 821 // User credential configs only have an xmpp_login, which is also the owner.
816 host_owner_ = xmpp_server_config_.username; 822 host_owner_ = xmpp_server_config_.username;
817 use_service_account_ = false; 823 use_service_account_ = false;
818 } 824 }
825
826 // If the enable VP9 option is unspecified, or false, then VP9 is not offered.
Jamie 2014/06/17 17:35:48 It actually falls back on the command-line, I thin
Sergey Ulanov 2014/06/17 17:37:58 I think this should also mention the optional CL f
827 config->GetBoolean(kEnableVp9ConfigPath, &enable_vp9_);
Sergey Ulanov 2014/06/17 17:37:59 Shouldn't command-line option override the flag in
Wez 2014/06/17 17:58:23 Done.
828
819 return true; 829 return true;
820 } 830 }
821 831
822 void HostProcess::OnPolicyUpdate(scoped_ptr<base::DictionaryValue> policies) { 832 void HostProcess::OnPolicyUpdate(scoped_ptr<base::DictionaryValue> policies) {
823 if (!context_->network_task_runner()->BelongsToCurrentThread()) { 833 if (!context_->network_task_runner()->BelongsToCurrentThread()) {
824 context_->network_task_runner()->PostTask(FROM_HERE, base::Bind( 834 context_->network_task_runner()->PostTask(FROM_HERE, base::Bind(
825 &HostProcess::OnPolicyUpdate, this, base::Passed(&policies))); 835 &HostProcess::OnPolicyUpdate, this, base::Passed(&policies)));
826 return; 836 return;
827 } 837 }
828 838
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
1183 desktop_environment_factory_.get(), 1193 desktop_environment_factory_.get(),
1184 CreateHostSessionManager(signal_strategy_.get(), network_settings, 1194 CreateHostSessionManager(signal_strategy_.get(), network_settings,
1185 context_->url_request_context_getter()), 1195 context_->url_request_context_getter()),
1186 context_->audio_task_runner(), 1196 context_->audio_task_runner(),
1187 context_->input_task_runner(), 1197 context_->input_task_runner(),
1188 context_->video_capture_task_runner(), 1198 context_->video_capture_task_runner(),
1189 context_->video_encode_task_runner(), 1199 context_->video_encode_task_runner(),
1190 context_->network_task_runner(), 1200 context_->network_task_runner(),
1191 context_->ui_task_runner())); 1201 context_->ui_task_runner()));
1192 1202
1203 // Enable VP9 if configured via the host config.
Jamie 2014/06/17 17:35:48 It can also be configured on the command-line. I t
Wez 2014/06/17 17:58:23 Done.
1204 if (enable_vp9_) {
1205 scoped_ptr<protocol::CandidateSessionConfig> config =
1206 host_->protocol_config()->Clone();
1207 config->EnableVideoCodec(protocol::ChannelConfig::CODEC_VP9);
1208 host_->set_protocol_config(config.Pass());
1209 }
1210
1193 // TODO(simonmorris): Get the maximum session duration from a policy. 1211 // TODO(simonmorris): Get the maximum session duration from a policy.
1194 #if defined(OS_LINUX) 1212 #if defined(OS_LINUX)
1195 host_->SetMaximumSessionDuration(base::TimeDelta::FromHours(20)); 1213 host_->SetMaximumSessionDuration(base::TimeDelta::FromHours(20));
1196 #endif 1214 #endif
1197 1215
1198 heartbeat_sender_.reset(new HeartbeatSender( 1216 heartbeat_sender_.reset(new HeartbeatSender(
1199 this, host_id_, signal_strategy_.get(), key_pair_, 1217 this, host_id_, signal_strategy_.get(), key_pair_,
1200 directory_bot_jid_)); 1218 directory_bot_jid_));
1201 1219
1202 host_status_sender_.reset(new HostStatusSender( 1220 host_status_sender_.reset(new HostStatusSender(
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 return exit_code; 1378 return exit_code;
1361 } 1379 }
1362 1380
1363 } // namespace remoting 1381 } // namespace remoting
1364 1382
1365 #if !defined(OS_WIN) 1383 #if !defined(OS_WIN)
1366 int main(int argc, char** argv) { 1384 int main(int argc, char** argv) {
1367 return remoting::HostMain(argc, argv); 1385 return remoting::HostMain(argc, argv);
1368 } 1386 }
1369 #endif // !defined(OS_WIN) 1387 #endif // !defined(OS_WIN)
OLDNEW
« remoting/host/chromoting_host.h ('K') | « remoting/host/host_config.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698