diff options
author | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-22 20:07:11 +0000 |
---|---|---|
committer | sergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-22 20:07:11 +0000 |
commit | c0a32b7df70e9cc8533563466ddb7cc1cf6b7d9d (patch) | |
tree | a618e74448d1eeecceba17e5c62fb48c8870a78e /remoting/protocol | |
parent | 92f377d25b8c8170574eed213e6a2c285dda14c0 (diff) | |
download | chromium_src-c0a32b7df70e9cc8533563466ddb7cc1cf6b7d9d.zip chromium_src-c0a32b7df70e9cc8533563466ddb7cc1cf6b7d9d.tar.gz chromium_src-c0a32b7df70e9cc8533563466ddb7cc1cf6b7d9d.tar.bz2 |
Enable Audio support on Chromoting client.
BUG=123046
Review URL: https://chromiumcodereview.appspot.com/10824412
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152805 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/protocol')
-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); |