Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Side by Side Diff: remoting/protocol/session_config.cc

Issue 850983002: Implement video frame acknowledgements in the chromoting protocol. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #include "remoting/protocol/session_config.h" 5 #include "remoting/protocol/session_config.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 namespace remoting { 9 namespace remoting {
10 namespace protocol { 10 namespace protocol {
11 11
12 const int kDefaultStreamVersion = 2; 12 const int kEventStreamVersion = 2;
13 const int kAudioStreamVersion = 2;
13 const int kControlStreamVersion = 3; 14 const int kControlStreamVersion = 3;
15 const int kVideoStreamVersion = 3;
16 const int kVideoStreamVersionNoAck = 2;
14 17
15 ChannelConfig ChannelConfig::None() { 18 ChannelConfig ChannelConfig::None() {
16 return ChannelConfig(); 19 return ChannelConfig();
17 } 20 }
18 21
19 ChannelConfig::ChannelConfig() 22 ChannelConfig::ChannelConfig()
20 : transport(TRANSPORT_NONE), 23 : transport(TRANSPORT_NONE),
21 version(0), 24 version(0),
22 codec(CODEC_UNDEFINED) { 25 codec(CODEC_UNDEFINED) {
23 } 26 }
(...skipping 14 matching lines...) Expand all
38 SessionConfig::SessionConfig() { 41 SessionConfig::SessionConfig() {
39 } 42 }
40 43
41 // static 44 // static
42 SessionConfig SessionConfig::ForTest() { 45 SessionConfig SessionConfig::ForTest() {
43 SessionConfig result; 46 SessionConfig result;
44 result.set_control_config(ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM, 47 result.set_control_config(ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM,
45 kControlStreamVersion, 48 kControlStreamVersion,
46 ChannelConfig::CODEC_UNDEFINED)); 49 ChannelConfig::CODEC_UNDEFINED));
47 result.set_event_config(ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM, 50 result.set_event_config(ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM,
48 kDefaultStreamVersion, 51 kEventStreamVersion,
49 ChannelConfig::CODEC_UNDEFINED)); 52 ChannelConfig::CODEC_UNDEFINED));
50 result.set_video_config(ChannelConfig(ChannelConfig::TRANSPORT_STREAM, 53 result.set_video_config(ChannelConfig(ChannelConfig::TRANSPORT_STREAM,
51 kDefaultStreamVersion, 54 kVideoStreamVersion,
52 ChannelConfig::CODEC_VP8)); 55 ChannelConfig::CODEC_VP8));
53 result.set_audio_config(ChannelConfig(ChannelConfig::TRANSPORT_NONE, 56 result.set_audio_config(ChannelConfig(ChannelConfig::TRANSPORT_NONE,
54 kDefaultStreamVersion, 57 kAudioStreamVersion,
55 ChannelConfig::CODEC_UNDEFINED)); 58 ChannelConfig::CODEC_UNDEFINED));
56 return result; 59 return result;
57 } 60 }
58 61
59 CandidateSessionConfig::CandidateSessionConfig() { } 62 CandidateSessionConfig::CandidateSessionConfig() { }
60 63
61 CandidateSessionConfig::CandidateSessionConfig( 64 CandidateSessionConfig::CandidateSessionConfig(
62 const CandidateSessionConfig& config) 65 const CandidateSessionConfig& config)
63 : control_configs_(config.control_configs_), 66 : control_configs_(config.control_configs_),
64 event_configs_(config.event_configs_), 67 event_configs_(config.event_configs_),
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 173
171 // Control channel. 174 // Control channel.
172 result->mutable_control_configs()->push_back( 175 result->mutable_control_configs()->push_back(
173 ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM, 176 ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM,
174 kControlStreamVersion, 177 kControlStreamVersion,
175 ChannelConfig::CODEC_UNDEFINED)); 178 ChannelConfig::CODEC_UNDEFINED));
176 179
177 // Event channel. 180 // Event channel.
178 result->mutable_event_configs()->push_back( 181 result->mutable_event_configs()->push_back(
179 ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM, 182 ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM,
180 kDefaultStreamVersion, 183 kEventStreamVersion,
181 ChannelConfig::CODEC_UNDEFINED)); 184 ChannelConfig::CODEC_UNDEFINED));
182 185
183 // Video channel. 186 // Video channel.
184 result->mutable_video_configs()->push_back( 187 result->mutable_video_configs()->push_back(
185 ChannelConfig(ChannelConfig::TRANSPORT_STREAM, 188 ChannelConfig(ChannelConfig::TRANSPORT_STREAM, kVideoStreamVersion,
186 kDefaultStreamVersion, 189 ChannelConfig::CODEC_VP8));
190 result->mutable_video_configs()->push_back(
191 ChannelConfig(ChannelConfig::TRANSPORT_STREAM, kVideoStreamVersionNoAck,
187 ChannelConfig::CODEC_VP8)); 192 ChannelConfig::CODEC_VP8));
188 193
189 // Audio channel. 194 // Audio channel.
190 result->mutable_audio_configs()->push_back( 195 result->mutable_audio_configs()->push_back(
191 ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM, 196 ChannelConfig(ChannelConfig::TRANSPORT_MUX_STREAM,
192 kDefaultStreamVersion, 197 kAudioStreamVersion,
193 ChannelConfig::CODEC_OPUS)); 198 ChannelConfig::CODEC_OPUS));
194 result->mutable_audio_configs()->push_back(ChannelConfig::None()); 199 result->mutable_audio_configs()->push_back(ChannelConfig::None());
195 200
196 return result.Pass(); 201 return result.Pass();
197 } 202 }
198 203
199 void CandidateSessionConfig::DisableAudioChannel() { 204 void CandidateSessionConfig::DisableAudioChannel() {
200 mutable_audio_configs()->clear(); 205 mutable_audio_configs()->clear();
201 mutable_audio_configs()->push_back(ChannelConfig()); 206 mutable_audio_configs()->push_back(ChannelConfig());
202 } 207 }
203 208
204 void CandidateSessionConfig::EnableVideoCodec(ChannelConfig::Codec codec) { 209 void CandidateSessionConfig::EnableVideoCodec(ChannelConfig::Codec codec) {
205 mutable_video_configs()->push_front( 210 mutable_video_configs()->push_front(ChannelConfig(
206 ChannelConfig(ChannelConfig::TRANSPORT_STREAM, 211 ChannelConfig::TRANSPORT_STREAM, kVideoStreamVersion, codec));
207 kDefaultStreamVersion, 212 mutable_video_configs()->push_front(ChannelConfig(
208 codec)); 213 ChannelConfig::TRANSPORT_STREAM, kVideoStreamVersionNoAck, codec));
209 } 214 }
210 215
211 } // namespace protocol 216 } // namespace protocol
212 } // namespace remoting 217 } // namespace remoting
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698