diff options
-rw-r--r-- | remoting/protocol/connection_to_host.cc | 1 | ||||
-rw-r--r-- | remoting/protocol/session_config.cc | 27 | ||||
-rw-r--r-- | remoting/protocol/session_config.h | 3 |
3 files changed, 24 insertions, 7 deletions
diff --git a/remoting/protocol/connection_to_host.cc b/remoting/protocol/connection_to_host.cc index dd21220..138c37b 100644 --- a/remoting/protocol/connection_to_host.cc +++ b/remoting/protocol/connection_to_host.cc @@ -139,6 +139,7 @@ void ConnectionToHost::OnSessionManagerReady() { // After SessionManager is initialized we can try to connect to the host. scoped_ptr<CandidateSessionConfig> candidate_config = CandidateSessionConfig::CreateDefault(); + CandidateSessionConfig::EnableAudioChannel(candidate_config.get()); session_ = session_manager_->Connect( host_jid_, authenticator_.Pass(), candidate_config.Pass()); session_->SetEventHandler(this); diff --git a/remoting/protocol/session_config.cc b/remoting/protocol/session_config.cc index 6113552..b4e1da0 100644 --- a/remoting/protocol/session_config.cc +++ b/remoting/protocol/session_config.cc @@ -190,22 +190,35 @@ scoped_ptr<CandidateSessionConfig> CandidateSessionConfig::CreateDefault() { ChannelConfig::CODEC_VP8)); // Audio channel. + result->mutable_audio_configs()->push_back(ChannelConfig()); #if defined(ENABLE_REMOTING_AUDIO) - result->mutable_audio_configs()->push_back( + EnableAudioChannel(result.get()); +#endif // defined(ENABLE_REMOTING_AUDIO) + + return result.Pass(); +} + +// static +void CandidateSessionConfig::EnableAudioChannel( + CandidateSessionConfig* config) { + config->mutable_audio_configs()->clear(); + config->mutable_audio_configs()->push_back( ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM, kDefaultStreamVersion, - ChannelConfig::CODEC_VERBATIM)); - result->mutable_audio_configs()->push_back( + ChannelConfig::CODEC_SPEEX)); + config->mutable_audio_configs()->push_back( ChannelConfig(ChannelConfig::TRANSPORT_STREAM, kDefaultStreamVersion, ChannelConfig::CODEC_SPEEX)); - result->mutable_audio_configs()->push_back( + config->mutable_audio_configs()->push_back( + ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM, + kDefaultStreamVersion, + ChannelConfig::CODEC_VERBATIM)); + config->mutable_audio_configs()->push_back( ChannelConfig(ChannelConfig::TRANSPORT_STREAM, kDefaultStreamVersion, ChannelConfig::CODEC_VERBATIM)); -#endif // defined(ENABLE_REMOTING_AUDIO) - result->mutable_audio_configs()->push_back(ChannelConfig()); - return result.Pass(); + config->mutable_audio_configs()->push_back(ChannelConfig()); } } // namespace protocol diff --git a/remoting/protocol/session_config.h b/remoting/protocol/session_config.h index 5d89d67..cea6637 100644 --- a/remoting/protocol/session_config.h +++ b/remoting/protocol/session_config.h @@ -150,6 +150,9 @@ class CandidateSessionConfig { const SessionConfig& config); static scoped_ptr<CandidateSessionConfig> CreateDefault(); + // Helper method that modifies |config| to enable audio support. + static void EnableAudioChannel(CandidateSessionConfig* config); + private: CandidateSessionConfig(); explicit CandidateSessionConfig(const CandidateSessionConfig& config); |