| Index: remoting/protocol/session_config.cc
|
| diff --git a/remoting/protocol/session_config.cc b/remoting/protocol/session_config.cc
|
| index 528d96c400268959a7ef07d54421c6b4287c9f81..8479a043dd7d4de4df9b2e215fd23f0ccb9790e6 100644
|
| --- a/remoting/protocol/session_config.cc
|
| +++ b/remoting/protocol/session_config.cc
|
| @@ -31,6 +31,9 @@ void ChannelConfig::Reset() {
|
| codec = CODEC_UNDEFINED;
|
| }
|
|
|
| +SessionConfig::SessionConfig() {
|
| +}
|
| +
|
| // static
|
| SessionConfig SessionConfig::GetDefault() {
|
| SessionConfig result;
|
| @@ -43,6 +46,9 @@ SessionConfig SessionConfig::GetDefault() {
|
| result.set_video_config(ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
|
| kDefaultStreamVersion,
|
| ChannelConfig::CODEC_VP8));
|
| + result.set_audio_config(ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
|
| + kDefaultStreamVersion,
|
| + ChannelConfig::CODEC_VERBATIM));
|
| return result;
|
| }
|
|
|
| @@ -52,7 +58,8 @@ CandidateSessionConfig::CandidateSessionConfig(
|
| const CandidateSessionConfig& config)
|
| : control_configs_(config.control_configs_),
|
| event_configs_(config.event_configs_),
|
| - video_configs_(config.video_configs_) {
|
| + video_configs_(config.video_configs_),
|
| + audio_configs_(config.audio_configs_) {
|
| }
|
|
|
| CandidateSessionConfig::~CandidateSessionConfig() { }
|
| @@ -63,19 +70,23 @@ bool CandidateSessionConfig::Select(
|
| ChannelConfig control_config;
|
| ChannelConfig event_config;
|
| ChannelConfig video_config;
|
| + ChannelConfig audio_config;
|
|
|
| if (!SelectCommonChannelConfig(
|
| control_configs_, client_config->control_configs_, &control_config) ||
|
| !SelectCommonChannelConfig(
|
| event_configs_, client_config->event_configs_, &event_config) ||
|
| !SelectCommonChannelConfig(
|
| - video_configs_, client_config->video_configs_, &video_config)) {
|
| + video_configs_, client_config->video_configs_, &video_config) ||
|
| + !SelectCommonChannelConfig(
|
| + audio_configs_, client_config->audio_configs_, &audio_config)) {
|
| return false;
|
| }
|
|
|
| result->set_control_config(control_config);
|
| result->set_event_config(event_config);
|
| result->set_video_config(video_config);
|
| + result->set_audio_config(audio_config);
|
|
|
| return true;
|
| }
|
| @@ -85,19 +96,22 @@ bool CandidateSessionConfig::IsSupported(
|
| return
|
| IsChannelConfigSupported(control_configs_, config.control_config()) &&
|
| IsChannelConfigSupported(event_configs_, config.event_config()) &&
|
| - IsChannelConfigSupported(video_configs_, config.video_config());
|
| + IsChannelConfigSupported(video_configs_, config.video_config()) &&
|
| + IsChannelConfigSupported(audio_configs_, config.audio_config());
|
| }
|
|
|
| bool CandidateSessionConfig::GetFinalConfig(SessionConfig* result) const {
|
| if (control_configs_.size() != 1 ||
|
| event_configs_.size() != 1 ||
|
| - video_configs_.size() != 1) {
|
| + video_configs_.size() != 1 ||
|
| + audio_configs_.size() != 1) {
|
| return false;
|
| }
|
|
|
| result->set_control_config(control_configs_.front());
|
| result->set_event_config(event_configs_.front());
|
| result->set_video_config(video_configs_.front());
|
| + result->set_audio_config(audio_configs_.front());
|
|
|
| return true;
|
| }
|
| @@ -142,6 +156,7 @@ scoped_ptr<CandidateSessionConfig> CandidateSessionConfig::CreateFrom(
|
| result->mutable_control_configs()->push_back(config.control_config());
|
| result->mutable_event_configs()->push_back(config.event_config());
|
| result->mutable_video_configs()->push_back(config.video_config());
|
| + result->mutable_audio_configs()->push_back(config.audio_config());
|
| return result.Pass();
|
| }
|
|
|
| @@ -160,6 +175,18 @@ scoped_ptr<CandidateSessionConfig> CandidateSessionConfig::CreateDefault() {
|
| ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
|
| kDefaultStreamVersion,
|
| ChannelConfig::CODEC_VP8));
|
| + result->mutable_audio_configs()->push_back(
|
| + ChannelConfig(ChannelConfig::TRANSPORT_NONE,
|
| + kDefaultStreamVersion,
|
| + ChannelConfig::CODEC_VERBATIM));
|
| + result->mutable_audio_configs()->push_back(
|
| + ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
|
| + kDefaultStreamVersion,
|
| + ChannelConfig::CODEC_VERBATIM));
|
| + result->mutable_audio_configs()->push_back(
|
| + ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
|
| + kDefaultStreamVersion,
|
| + ChannelConfig::CODEC_VORBIS));
|
| return result.Pass();
|
| }
|
|
|
|
|