| Index: remoting/client/chromoting_client.cc
|
| diff --git a/remoting/client/chromoting_client.cc b/remoting/client/chromoting_client.cc
|
| index 67973e26683373cc6e5901ce25c0cd8f0ea08bbb..9239a35dcad2c81ee5d53530e04ea524ce274fd5 100644
|
| --- a/remoting/client/chromoting_client.cc
|
| +++ b/remoting/client/chromoting_client.cc
|
| @@ -15,11 +15,11 @@
|
| #include "remoting/protocol/connection_to_host.h"
|
| #include "remoting/protocol/host_stub.h"
|
| #include "remoting/protocol/ice_connection_to_host.h"
|
| -#include "remoting/protocol/ice_transport.h"
|
| #include "remoting/protocol/jingle_session_manager.h"
|
| #include "remoting/protocol/session_config.h"
|
| #include "remoting/protocol/transport_context.h"
|
| #include "remoting/protocol/video_renderer.h"
|
| +#include "remoting/protocol/webrtc_connection_to_host.h"
|
|
|
| namespace remoting {
|
|
|
| @@ -27,9 +27,7 @@ ChromotingClient::ChromotingClient(ClientContext* client_context,
|
| ClientUserInterface* user_interface,
|
| protocol::VideoRenderer* video_renderer,
|
| scoped_ptr<AudioPlayer> audio_player)
|
| - : user_interface_(user_interface),
|
| - video_renderer_(video_renderer),
|
| - connection_(new protocol::IceConnectionToHost()) {
|
| + : user_interface_(user_interface), video_renderer_(video_renderer) {
|
| DCHECK(client_context->main_task_runner()->BelongsToCurrentThread());
|
| if (audio_player) {
|
| audio_decode_scheduler_.reset(new AudioDecodeScheduler(
|
| @@ -65,17 +63,30 @@ void ChromotingClient::Start(
|
| host_jid_ = host_jid;
|
| local_capabilities_ = capabilities;
|
|
|
| + if (!protocol_config_)
|
| + protocol_config_ = protocol::CandidateSessionConfig::CreateDefault();
|
| + if (!audio_decode_scheduler_)
|
| + protocol_config_->DisableAudioChannel();
|
| +
|
| + if (!connection_) {
|
| + if (protocol_config_->webrtc_supported()) {
|
| + DCHECK(!protocol_config_->ice_supported());
|
| +#if defined(OS_NACL)
|
| + LOG(FATAL) << "WebRTC is not supported in webapp.";
|
| +#else // defined(OS_NACL)
|
| + connection_.reset(new protocol::WebrtcConnectionToHost());
|
| +#endif // !defined(OS_NACL)
|
| + } else {
|
| + DCHECK(protocol_config_->ice_supported());
|
| + connection_.reset(new protocol::IceConnectionToHost());
|
| + }
|
| + }
|
| connection_->set_client_stub(this);
|
| connection_->set_clipboard_stub(this);
|
| connection_->set_video_renderer(video_renderer_);
|
| connection_->set_audio_stub(audio_decode_scheduler_.get());
|
|
|
| session_manager_.reset(new protocol::JingleSessionManager(signal_strategy));
|
| -
|
| - if (!protocol_config_)
|
| - protocol_config_ = protocol::CandidateSessionConfig::CreateDefault();
|
| - if (!audio_decode_scheduler_)
|
| - protocol_config_->DisableAudioChannel();
|
| session_manager_->set_protocol_config(std::move(protocol_config_));
|
|
|
| authenticator_ = std::move(authenticator);
|
|
|