summaryrefslogtreecommitdiffstats
path: root/remoting/protocol
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-22 20:07:11 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-22 20:07:11 +0000
commitc0a32b7df70e9cc8533563466ddb7cc1cf6b7d9d (patch)
treea618e74448d1eeecceba17e5c62fb48c8870a78e /remoting/protocol
parent92f377d25b8c8170574eed213e6a2c285dda14c0 (diff)
downloadchromium_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.cc1
-rw-r--r--remoting/protocol/session_config.cc27
-rw-r--r--remoting/protocol/session_config.h3
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);