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

Side by Side Diff: talk/app/webrtc/webrtcsession.cc

Issue 1362503003: Use suffixed {uint,int}{8,16,32,64}_t types. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase + revert basictypes.h (to be landed separately just in case of a revert due to unexpected us… Created 5 years, 2 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
« no previous file with comments | « talk/app/webrtc/webrtcsession.h ('k') | talk/app/webrtc/webrtcsession_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 if (cricket::IsMediaContent(&*iter)) { 258 if (cricket::IsMediaContent(&*iter)) {
259 MediaContentDescription* mdesc = 259 MediaContentDescription* mdesc =
260 static_cast<MediaContentDescription*> (iter->description); 260 static_cast<MediaContentDescription*> (iter->description);
261 if (mdesc) { 261 if (mdesc) {
262 mdesc->set_crypto_required(type); 262 mdesc->set_crypto_required(type);
263 } 263 }
264 } 264 }
265 } 265 }
266 } 266 }
267 267
268 static bool GetAudioSsrcByTrackId( 268 static bool GetAudioSsrcByTrackId(const SessionDescription* session_description,
269 const SessionDescription* session_description, 269 const std::string& track_id,
270 const std::string& track_id, uint32 *ssrc) { 270 uint32_t* ssrc) {
271 const cricket::ContentInfo* audio_info = 271 const cricket::ContentInfo* audio_info =
272 cricket::GetFirstAudioContent(session_description); 272 cricket::GetFirstAudioContent(session_description);
273 if (!audio_info) { 273 if (!audio_info) {
274 LOG(LS_ERROR) << "Audio not used in this call"; 274 LOG(LS_ERROR) << "Audio not used in this call";
275 return false; 275 return false;
276 } 276 }
277 277
278 const cricket::MediaContentDescription* audio_content = 278 const cricket::MediaContentDescription* audio_content =
279 static_cast<const cricket::MediaContentDescription*>( 279 static_cast<const cricket::MediaContentDescription*>(
280 audio_info->description); 280 audio_info->description);
281 const cricket::StreamParams* stream = 281 const cricket::StreamParams* stream =
282 cricket::GetStreamByIds(audio_content->streams(), "", track_id); 282 cricket::GetStreamByIds(audio_content->streams(), "", track_id);
283 if (!stream) { 283 if (!stream) {
284 return false; 284 return false;
285 } 285 }
286 286
287 *ssrc = stream->first_ssrc(); 287 *ssrc = stream->first_ssrc();
288 return true; 288 return true;
289 } 289 }
290 290
291 static bool GetTrackIdBySsrc(const SessionDescription* session_description, 291 static bool GetTrackIdBySsrc(const SessionDescription* session_description,
292 uint32 ssrc, std::string* track_id) { 292 uint32_t ssrc,
293 std::string* track_id) {
293 ASSERT(track_id != NULL); 294 ASSERT(track_id != NULL);
294 295
295 const cricket::ContentInfo* audio_info = 296 const cricket::ContentInfo* audio_info =
296 cricket::GetFirstAudioContent(session_description); 297 cricket::GetFirstAudioContent(session_description);
297 if (audio_info) { 298 if (audio_info) {
298 const cricket::MediaContentDescription* audio_content = 299 const cricket::MediaContentDescription* audio_content =
299 static_cast<const cricket::MediaContentDescription*>( 300 static_cast<const cricket::MediaContentDescription*>(
300 audio_info->description); 301 audio_info->description);
301 302
302 const auto* found = 303 const auto* found =
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 } 455 }
455 std::string string_value; 456 std::string string_value;
456 T value; 457 T value;
457 if (constraints->GetOptional().FindFirst(key, &string_value)) { 458 if (constraints->GetOptional().FindFirst(key, &string_value)) {
458 if (rtc::FromString(string_value, &value)) { 459 if (rtc::FromString(string_value, &value)) {
459 option->Set(value); 460 option->Set(value);
460 } 461 }
461 } 462 }
462 } 463 }
463 464
464 uint32 ConvertIceTransportTypeToCandidateFilter( 465 uint32_t ConvertIceTransportTypeToCandidateFilter(
465 PeerConnectionInterface::IceTransportsType type) { 466 PeerConnectionInterface::IceTransportsType type) {
466 switch (type) { 467 switch (type) {
467 case PeerConnectionInterface::kNone: 468 case PeerConnectionInterface::kNone:
468 return cricket::CF_NONE; 469 return cricket::CF_NONE;
469 case PeerConnectionInterface::kRelay: 470 case PeerConnectionInterface::kRelay:
470 return cricket::CF_RELAY; 471 return cricket::CF_RELAY;
471 case PeerConnectionInterface::kNoHost: 472 case PeerConnectionInterface::kNoHost:
472 return (cricket::CF_ALL & ~cricket::CF_HOST); 473 return (cricket::CF_ALL & ~cricket::CF_HOST);
473 case PeerConnectionInterface::kAll: 474 case PeerConnectionInterface::kAll:
474 return cricket::CF_ALL; 475 return cricket::CF_ALL;
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
1205 1206
1206 return UseCandidate(candidate); 1207 return UseCandidate(candidate);
1207 } 1208 }
1208 1209
1209 bool WebRtcSession::SetIceTransports( 1210 bool WebRtcSession::SetIceTransports(
1210 PeerConnectionInterface::IceTransportsType type) { 1211 PeerConnectionInterface::IceTransportsType type) {
1211 return port_allocator()->set_candidate_filter( 1212 return port_allocator()->set_candidate_filter(
1212 ConvertIceTransportTypeToCandidateFilter(type)); 1213 ConvertIceTransportTypeToCandidateFilter(type));
1213 } 1214 }
1214 1215
1215 bool WebRtcSession::GetLocalTrackIdBySsrc(uint32 ssrc, std::string* track_id) { 1216 bool WebRtcSession::GetLocalTrackIdBySsrc(uint32_t ssrc,
1217 std::string* track_id) {
1216 if (!base_local_description()) 1218 if (!base_local_description())
1217 return false; 1219 return false;
1218 return webrtc::GetTrackIdBySsrc(base_local_description(), ssrc, track_id); 1220 return webrtc::GetTrackIdBySsrc(base_local_description(), ssrc, track_id);
1219 } 1221 }
1220 1222
1221 bool WebRtcSession::GetRemoteTrackIdBySsrc(uint32 ssrc, std::string* track_id) { 1223 bool WebRtcSession::GetRemoteTrackIdBySsrc(uint32_t ssrc,
1224 std::string* track_id) {
1222 if (!base_remote_description()) 1225 if (!base_remote_description())
1223 return false; 1226 return false;
1224 return webrtc::GetTrackIdBySsrc(base_remote_description(), ssrc, track_id); 1227 return webrtc::GetTrackIdBySsrc(base_remote_description(), ssrc, track_id);
1225 } 1228 }
1226 1229
1227 std::string WebRtcSession::BadStateErrMsg(State state) { 1230 std::string WebRtcSession::BadStateErrMsg(State state) {
1228 std::ostringstream desc; 1231 std::ostringstream desc;
1229 desc << "Called in wrong state: " << GetStateString(state); 1232 desc << "Called in wrong state: " << GetStateString(state);
1230 return desc.str(); 1233 return desc.str();
1231 } 1234 }
1232 1235
1233 void WebRtcSession::SetAudioPlayout(uint32 ssrc, bool enable, 1236 void WebRtcSession::SetAudioPlayout(uint32_t ssrc,
1237 bool enable,
1234 cricket::AudioRenderer* renderer) { 1238 cricket::AudioRenderer* renderer) {
1235 ASSERT(signaling_thread()->IsCurrent()); 1239 ASSERT(signaling_thread()->IsCurrent());
1236 if (!voice_channel_) { 1240 if (!voice_channel_) {
1237 LOG(LS_ERROR) << "SetAudioPlayout: No audio channel exists."; 1241 LOG(LS_ERROR) << "SetAudioPlayout: No audio channel exists.";
1238 return; 1242 return;
1239 } 1243 }
1240 if (!voice_channel_->SetRemoteRenderer(ssrc, renderer)) { 1244 if (!voice_channel_->SetRemoteRenderer(ssrc, renderer)) {
1241 // SetRenderer() can fail if the ssrc does not match any playout channel. 1245 // SetRenderer() can fail if the ssrc does not match any playout channel.
1242 LOG(LS_ERROR) << "SetAudioPlayout: ssrc is incorrect: " << ssrc; 1246 LOG(LS_ERROR) << "SetAudioPlayout: ssrc is incorrect: " << ssrc;
1243 return; 1247 return;
1244 } 1248 }
1245 if (!voice_channel_->SetOutputScaling(ssrc, enable ? 1 : 0, enable ? 1 : 0)) { 1249 if (!voice_channel_->SetOutputScaling(ssrc, enable ? 1 : 0, enable ? 1 : 0)) {
1246 // Allow that SetOutputScaling fail if |enable| is false but assert 1250 // Allow that SetOutputScaling fail if |enable| is false but assert
1247 // otherwise. This in the normal case when the underlying media channel has 1251 // otherwise. This in the normal case when the underlying media channel has
1248 // already been deleted. 1252 // already been deleted.
1249 ASSERT(enable == false); 1253 ASSERT(enable == false);
1250 } 1254 }
1251 } 1255 }
1252 1256
1253 void WebRtcSession::SetAudioSend(uint32 ssrc, bool enable, 1257 void WebRtcSession::SetAudioSend(uint32_t ssrc,
1258 bool enable,
1254 const cricket::AudioOptions& options, 1259 const cricket::AudioOptions& options,
1255 cricket::AudioRenderer* renderer) { 1260 cricket::AudioRenderer* renderer) {
1256 ASSERT(signaling_thread()->IsCurrent()); 1261 ASSERT(signaling_thread()->IsCurrent());
1257 if (!voice_channel_) { 1262 if (!voice_channel_) {
1258 LOG(LS_ERROR) << "SetAudioSend: No audio channel exists."; 1263 LOG(LS_ERROR) << "SetAudioSend: No audio channel exists.";
1259 return; 1264 return;
1260 } 1265 }
1261 if (!voice_channel_->SetAudioSend(ssrc, enable, &options, renderer)) { 1266 if (!voice_channel_->SetAudioSend(ssrc, enable, &options, renderer)) {
1262 LOG(LS_ERROR) << "SetAudioSend: ssrc is incorrect: " << ssrc; 1267 LOG(LS_ERROR) << "SetAudioSend: ssrc is incorrect: " << ssrc;
1263 } 1268 }
1264 } 1269 }
1265 1270
1266 void WebRtcSession::SetAudioPlayoutVolume(uint32 ssrc, double volume) { 1271 void WebRtcSession::SetAudioPlayoutVolume(uint32_t ssrc, double volume) {
1267 ASSERT(signaling_thread()->IsCurrent()); 1272 ASSERT(signaling_thread()->IsCurrent());
1268 ASSERT(volume >= 0 && volume <= 10); 1273 ASSERT(volume >= 0 && volume <= 10);
1269 if (!voice_channel_) { 1274 if (!voice_channel_) {
1270 LOG(LS_ERROR) << "SetAudioPlayoutVolume: No audio channel exists."; 1275 LOG(LS_ERROR) << "SetAudioPlayoutVolume: No audio channel exists.";
1271 return; 1276 return;
1272 } 1277 }
1273 1278
1274 if (!voice_channel_->SetOutputScaling(ssrc, volume, volume)) { 1279 if (!voice_channel_->SetOutputScaling(ssrc, volume, volume)) {
1275 ASSERT(false); 1280 ASSERT(false);
1276 } 1281 }
1277 } 1282 }
1278 1283
1279 bool WebRtcSession::SetCaptureDevice(uint32 ssrc, 1284 bool WebRtcSession::SetCaptureDevice(uint32_t ssrc,
1280 cricket::VideoCapturer* camera) { 1285 cricket::VideoCapturer* camera) {
1281 ASSERT(signaling_thread()->IsCurrent()); 1286 ASSERT(signaling_thread()->IsCurrent());
1282 1287
1283 if (!video_channel_) { 1288 if (!video_channel_) {
1284 // |video_channel_| doesnt't exist. Probably because the remote end doesnt't 1289 // |video_channel_| doesnt't exist. Probably because the remote end doesnt't
1285 // support video. 1290 // support video.
1286 LOG(LS_WARNING) << "Video not used in this call."; 1291 LOG(LS_WARNING) << "Video not used in this call.";
1287 return false; 1292 return false;
1288 } 1293 }
1289 if (!video_channel_->SetCapturer(ssrc, camera)) { 1294 if (!video_channel_->SetCapturer(ssrc, camera)) {
1290 // Allow that SetCapturer fail if |camera| is NULL but assert otherwise. 1295 // Allow that SetCapturer fail if |camera| is NULL but assert otherwise.
1291 // This in the normal case when the underlying media channel has already 1296 // This in the normal case when the underlying media channel has already
1292 // been deleted. 1297 // been deleted.
1293 ASSERT(camera == NULL); 1298 ASSERT(camera == NULL);
1294 return false; 1299 return false;
1295 } 1300 }
1296 return true; 1301 return true;
1297 } 1302 }
1298 1303
1299 void WebRtcSession::SetVideoPlayout(uint32 ssrc, 1304 void WebRtcSession::SetVideoPlayout(uint32_t ssrc,
1300 bool enable, 1305 bool enable,
1301 cricket::VideoRenderer* renderer) { 1306 cricket::VideoRenderer* renderer) {
1302 ASSERT(signaling_thread()->IsCurrent()); 1307 ASSERT(signaling_thread()->IsCurrent());
1303 if (!video_channel_) { 1308 if (!video_channel_) {
1304 LOG(LS_WARNING) << "SetVideoPlayout: No video channel exists."; 1309 LOG(LS_WARNING) << "SetVideoPlayout: No video channel exists.";
1305 return; 1310 return;
1306 } 1311 }
1307 if (!video_channel_->SetRenderer(ssrc, enable ? renderer : NULL)) { 1312 if (!video_channel_->SetRenderer(ssrc, enable ? renderer : NULL)) {
1308 // Allow that SetRenderer fail if |renderer| is NULL but assert otherwise. 1313 // Allow that SetRenderer fail if |renderer| is NULL but assert otherwise.
1309 // This in the normal case when the underlying media channel has already 1314 // This in the normal case when the underlying media channel has already
1310 // been deleted. 1315 // been deleted.
1311 ASSERT(renderer == NULL); 1316 ASSERT(renderer == NULL);
1312 } 1317 }
1313 } 1318 }
1314 1319
1315 void WebRtcSession::SetVideoSend(uint32 ssrc, bool enable, 1320 void WebRtcSession::SetVideoSend(uint32_t ssrc,
1321 bool enable,
1316 const cricket::VideoOptions* options) { 1322 const cricket::VideoOptions* options) {
1317 ASSERT(signaling_thread()->IsCurrent()); 1323 ASSERT(signaling_thread()->IsCurrent());
1318 if (!video_channel_) { 1324 if (!video_channel_) {
1319 LOG(LS_WARNING) << "SetVideoSend: No video channel exists."; 1325 LOG(LS_WARNING) << "SetVideoSend: No video channel exists.";
1320 return; 1326 return;
1321 } 1327 }
1322 if (!video_channel_->SetVideoSend(ssrc, enable, options)) { 1328 if (!video_channel_->SetVideoSend(ssrc, enable, options)) {
1323 // Allow that MuteStream fail if |enable| is false but assert otherwise. 1329 // Allow that MuteStream fail if |enable| is false but assert otherwise.
1324 // This in the normal case when the underlying media channel has already 1330 // This in the normal case when the underlying media channel has already
1325 // been deleted. 1331 // been deleted.
1326 ASSERT(enable == false); 1332 ASSERT(enable == false);
1327 } 1333 }
1328 } 1334 }
1329 1335
1330 bool WebRtcSession::CanInsertDtmf(const std::string& track_id) { 1336 bool WebRtcSession::CanInsertDtmf(const std::string& track_id) {
1331 ASSERT(signaling_thread()->IsCurrent()); 1337 ASSERT(signaling_thread()->IsCurrent());
1332 if (!voice_channel_) { 1338 if (!voice_channel_) {
1333 LOG(LS_ERROR) << "CanInsertDtmf: No audio channel exists."; 1339 LOG(LS_ERROR) << "CanInsertDtmf: No audio channel exists.";
1334 return false; 1340 return false;
1335 } 1341 }
1336 uint32 send_ssrc = 0; 1342 uint32_t send_ssrc = 0;
1337 // The Dtmf is negotiated per channel not ssrc, so we only check if the ssrc 1343 // The Dtmf is negotiated per channel not ssrc, so we only check if the ssrc
1338 // exists. 1344 // exists.
1339 if (!GetAudioSsrcByTrackId(base_local_description(), track_id, 1345 if (!GetAudioSsrcByTrackId(base_local_description(), track_id,
1340 &send_ssrc)) { 1346 &send_ssrc)) {
1341 LOG(LS_ERROR) << "CanInsertDtmf: Track does not exist: " << track_id; 1347 LOG(LS_ERROR) << "CanInsertDtmf: Track does not exist: " << track_id;
1342 return false; 1348 return false;
1343 } 1349 }
1344 return voice_channel_->CanInsertDtmf(); 1350 return voice_channel_->CanInsertDtmf();
1345 } 1351 }
1346 1352
1347 bool WebRtcSession::InsertDtmf(const std::string& track_id, 1353 bool WebRtcSession::InsertDtmf(const std::string& track_id,
1348 int code, int duration) { 1354 int code, int duration) {
1349 ASSERT(signaling_thread()->IsCurrent()); 1355 ASSERT(signaling_thread()->IsCurrent());
1350 if (!voice_channel_) { 1356 if (!voice_channel_) {
1351 LOG(LS_ERROR) << "InsertDtmf: No audio channel exists."; 1357 LOG(LS_ERROR) << "InsertDtmf: No audio channel exists.";
1352 return false; 1358 return false;
1353 } 1359 }
1354 uint32 send_ssrc = 0; 1360 uint32_t send_ssrc = 0;
1355 if (!VERIFY(GetAudioSsrcByTrackId(base_local_description(), 1361 if (!VERIFY(GetAudioSsrcByTrackId(base_local_description(),
1356 track_id, &send_ssrc))) { 1362 track_id, &send_ssrc))) {
1357 LOG(LS_ERROR) << "InsertDtmf: Track does not exist: " << track_id; 1363 LOG(LS_ERROR) << "InsertDtmf: Track does not exist: " << track_id;
1358 return false; 1364 return false;
1359 } 1365 }
1360 if (!voice_channel_->InsertDtmf(send_ssrc, code, duration, 1366 if (!voice_channel_->InsertDtmf(send_ssrc, code, duration,
1361 cricket::DF_SEND)) { 1367 cricket::DF_SEND)) {
1362 LOG(LS_ERROR) << "Failed to insert DTMF to channel."; 1368 LOG(LS_ERROR) << "Failed to insert DTMF to channel.";
1363 return false; 1369 return false;
1364 } 1370 }
(...skipping 808 matching lines...) Expand 10 before | Expand all | Expand 10 after
2173 if (!srtp_cipher.empty()) { 2179 if (!srtp_cipher.empty()) {
2174 metrics_observer_->IncrementSparseEnumCounter( 2180 metrics_observer_->IncrementSparseEnumCounter(
2175 srtp_counter_type, rtc::GetSrtpCryptoSuiteFromName(srtp_cipher)); 2181 srtp_counter_type, rtc::GetSrtpCryptoSuiteFromName(srtp_cipher));
2176 } 2182 }
2177 if (ssl_cipher) { 2183 if (ssl_cipher) {
2178 metrics_observer_->IncrementSparseEnumCounter(ssl_counter_type, ssl_cipher); 2184 metrics_observer_->IncrementSparseEnumCounter(ssl_counter_type, ssl_cipher);
2179 } 2185 }
2180 } 2186 }
2181 2187
2182 } // namespace webrtc 2188 } // namespace webrtc
OLDNEW
« no previous file with comments | « talk/app/webrtc/webrtcsession.h ('k') | talk/app/webrtc/webrtcsession_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698