| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef REMOTING_PROTOCOL_SESSION_CONFIG_H_ | 5 #ifndef REMOTING_PROTOCOL_SESSION_CONFIG_H_ |
| 6 #define REMOTING_PROTOCOL_SESSION_CONFIG_H_ | 6 #define REMOTING_PROTOCOL_SESSION_CONFIG_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 TRANSPORT_MUX_STREAM, | 25 TRANSPORT_MUX_STREAM, |
| 26 TRANSPORT_DATAGRAM, | 26 TRANSPORT_DATAGRAM, |
| 27 TRANSPORT_NONE, | 27 TRANSPORT_NONE, |
| 28 }; | 28 }; |
| 29 | 29 |
| 30 enum Codec { | 30 enum Codec { |
| 31 CODEC_UNDEFINED, // Used for event and control channels. | 31 CODEC_UNDEFINED, // Used for event and control channels. |
| 32 CODEC_VERBATIM, | 32 CODEC_VERBATIM, |
| 33 CODEC_ZIP, | 33 CODEC_ZIP, |
| 34 CODEC_VP8, | 34 CODEC_VP8, |
| 35 CODEC_VP9, |
| 35 CODEC_OPUS, | 36 CODEC_OPUS, |
| 36 CODEC_SPEEX, | 37 CODEC_SPEEX, |
| 37 }; | 38 }; |
| 38 | 39 |
| 39 // Creates a config with transport field set to TRANSPORT_NONE which indicates | 40 // Creates a config with transport field set to TRANSPORT_NONE which indicates |
| 40 // that corresponding channel is disabled. | 41 // that corresponding channel is disabled. |
| 41 static ChannelConfig None(); | 42 static ChannelConfig None(); |
| 42 | 43 |
| 43 // Default constructor. Equivalent to None(). | 44 // Default constructor. Equivalent to None(). |
| 44 ChannelConfig(); | 45 ChannelConfig(); |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 // or undefined (e.g. no configurations for a channel) then NULL is returned. | 151 // or undefined (e.g. no configurations for a channel) then NULL is returned. |
| 151 bool GetFinalConfig(SessionConfig* result) const; | 152 bool GetFinalConfig(SessionConfig* result) const; |
| 152 | 153 |
| 153 scoped_ptr<CandidateSessionConfig> Clone() const; | 154 scoped_ptr<CandidateSessionConfig> Clone() const; |
| 154 | 155 |
| 155 static scoped_ptr<CandidateSessionConfig> CreateEmpty(); | 156 static scoped_ptr<CandidateSessionConfig> CreateEmpty(); |
| 156 static scoped_ptr<CandidateSessionConfig> CreateFrom( | 157 static scoped_ptr<CandidateSessionConfig> CreateFrom( |
| 157 const SessionConfig& config); | 158 const SessionConfig& config); |
| 158 static scoped_ptr<CandidateSessionConfig> CreateDefault(); | 159 static scoped_ptr<CandidateSessionConfig> CreateDefault(); |
| 159 | 160 |
| 160 // Helper method that modifies |config| to disable audio support. | 161 // Modifies |config| to disable specific features. |
| 161 static void DisableAudioChannel(CandidateSessionConfig* config); | 162 static void DisableAudioChannel(CandidateSessionConfig* config); |
| 163 static void DisableVideoCodec(CandidateSessionConfig* config, |
| 164 ChannelConfig::Codec codec); |
| 162 | 165 |
| 163 private: | 166 private: |
| 164 CandidateSessionConfig(); | 167 CandidateSessionConfig(); |
| 165 explicit CandidateSessionConfig(const CandidateSessionConfig& config); | 168 explicit CandidateSessionConfig(const CandidateSessionConfig& config); |
| 166 CandidateSessionConfig& operator=(const CandidateSessionConfig& b); | 169 CandidateSessionConfig& operator=(const CandidateSessionConfig& b); |
| 167 | 170 |
| 168 static bool SelectCommonChannelConfig( | 171 static bool SelectCommonChannelConfig( |
| 169 const std::vector<ChannelConfig>& host_configs_, | 172 const std::vector<ChannelConfig>& host_configs_, |
| 170 const std::vector<ChannelConfig>& client_configs_, | 173 const std::vector<ChannelConfig>& client_configs_, |
| 171 ChannelConfig* config); | 174 ChannelConfig* config); |
| 172 static bool IsChannelConfigSupported(const std::vector<ChannelConfig>& vector, | 175 static bool IsChannelConfigSupported(const std::vector<ChannelConfig>& vector, |
| 173 const ChannelConfig& value); | 176 const ChannelConfig& value); |
| 174 | 177 |
| 175 std::vector<ChannelConfig> control_configs_; | 178 std::vector<ChannelConfig> control_configs_; |
| 176 std::vector<ChannelConfig> event_configs_; | 179 std::vector<ChannelConfig> event_configs_; |
| 177 std::vector<ChannelConfig> video_configs_; | 180 std::vector<ChannelConfig> video_configs_; |
| 178 std::vector<ChannelConfig> audio_configs_; | 181 std::vector<ChannelConfig> audio_configs_; |
| 179 }; | 182 }; |
| 180 | 183 |
| 181 } // namespace protocol | 184 } // namespace protocol |
| 182 } // namespace remoting | 185 } // namespace remoting |
| 183 | 186 |
| 184 #endif // REMOTING_PROTOCOL_SESSION_CONFIG_H_ | 187 #endif // REMOTING_PROTOCOL_SESSION_CONFIG_H_ |
| OLD | NEW |