summaryrefslogtreecommitdiffstats
path: root/remoting/protocol/session_config.h
diff options
context:
space:
mode:
authorkxing@chromium.org <kxing@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-25 19:26:33 +0000
committerkxing@chromium.org <kxing@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-25 19:26:33 +0000
commitebfe432a5339014e8ce9741d997bbbd58655a0e9 (patch)
tree963e7a78aaf718725fcfa0f375c1c226f0c7821d /remoting/protocol/session_config.h
parent38db35e819136b2c6f5951f7aef072e962935b12 (diff)
downloadchromium_src-ebfe432a5339014e8ce9741d997bbbd58655a0e9.zip
chromium_src-ebfe432a5339014e8ce9741d997bbbd58655a0e9.tar.gz
chromium_src-ebfe432a5339014e8ce9741d997bbbd58655a0e9.tar.bz2
Added piping for sending audio packets from host to client.
Review URL: https://chromiumcodereview.appspot.com/10532211 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143977 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/protocol/session_config.h')
-rw-r--r--remoting/protocol/session_config.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/remoting/protocol/session_config.h b/remoting/protocol/session_config.h
index e1cd39e..02ee7f1 100644
--- a/remoting/protocol/session_config.h
+++ b/remoting/protocol/session_config.h
@@ -23,6 +23,7 @@ struct ChannelConfig {
enum TransportType {
TRANSPORT_STREAM,
TRANSPORT_DATAGRAM,
+ TRANSPORT_NONE,
};
enum Codec {
@@ -30,6 +31,7 @@ struct ChannelConfig {
CODEC_VERBATIM,
CODEC_ZIP,
CODEC_VP8,
+ CODEC_VORBIS,
};
ChannelConfig();
@@ -50,6 +52,8 @@ struct ChannelConfig {
// chromotocol configuration.
class SessionConfig {
public:
+ SessionConfig();
+
void set_control_config(const ChannelConfig& control_config) {
control_config_ = control_config;
}
@@ -62,6 +66,14 @@ class SessionConfig {
video_config_ = video_config;
}
const ChannelConfig& video_config() const { return video_config_; }
+ void set_audio_config(const ChannelConfig& audio_config) {
+ audio_config_ = audio_config;
+ }
+ const ChannelConfig& audio_config() const { return audio_config_; }
+
+ bool is_audio_enabled() const {
+ return audio_config_.transport != ChannelConfig::TRANSPORT_NONE;
+ }
static SessionConfig GetDefault();
@@ -69,6 +81,7 @@ class SessionConfig {
ChannelConfig control_config_;
ChannelConfig event_config_;
ChannelConfig video_config_;
+ ChannelConfig audio_config_;
};
// Defines session description that is sent from client to the host in the
@@ -102,6 +115,14 @@ class CandidateSessionConfig {
return &video_configs_;
}
+ const std::vector<ChannelConfig>& audio_configs() const {
+ return audio_configs_;
+ }
+
+ std::vector<ChannelConfig>* mutable_audio_configs() {
+ return &audio_configs_;
+ }
+
// Selects session configuration that is supported by both participants.
// NULL is returned if such configuration doesn't exist. When selecting
// channel configuration priority is given to the configs listed first
@@ -140,6 +161,7 @@ class CandidateSessionConfig {
std::vector<ChannelConfig> control_configs_;
std::vector<ChannelConfig> event_configs_;
std::vector<ChannelConfig> video_configs_;
+ std::vector<ChannelConfig> audio_configs_;
};
} // namespace protocol