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

Side by Side Diff: webrtc/call/call.cc

Issue 2461523002: Remove usage of VoEBase::AssociateSendChannel() from WVoMC. (Closed)
Patch Set: rebase Created 4 years, 1 month 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 | « webrtc/audio/audio_receive_stream_unittest.cc ('k') | webrtc/call/call_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 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
400 event_log_->LogAudioSendStreamConfig(config); 400 event_log_->LogAudioSendStreamConfig(config);
401 AudioSendStream* send_stream = new AudioSendStream( 401 AudioSendStream* send_stream = new AudioSendStream(
402 config, config_.audio_state, &worker_queue_, congestion_controller_.get(), 402 config, config_.audio_state, &worker_queue_, congestion_controller_.get(),
403 bitrate_allocator_.get(), event_log_); 403 bitrate_allocator_.get(), event_log_);
404 { 404 {
405 WriteLockScoped write_lock(*send_crit_); 405 WriteLockScoped write_lock(*send_crit_);
406 RTC_DCHECK(audio_send_ssrcs_.find(config.rtp.ssrc) == 406 RTC_DCHECK(audio_send_ssrcs_.find(config.rtp.ssrc) ==
407 audio_send_ssrcs_.end()); 407 audio_send_ssrcs_.end());
408 audio_send_ssrcs_[config.rtp.ssrc] = send_stream; 408 audio_send_ssrcs_[config.rtp.ssrc] = send_stream;
409 } 409 }
410 {
411 ReadLockScoped read_lock(*receive_crit_);
412 for (const auto& kv : audio_receive_ssrcs_) {
413 if (kv.second->config().rtp.local_ssrc == config.rtp.ssrc) {
414 kv.second->AssociateSendStream(send_stream);
415 }
416 }
417 }
410 send_stream->SignalNetworkState(audio_network_state_); 418 send_stream->SignalNetworkState(audio_network_state_);
411 UpdateAggregateNetworkState(); 419 UpdateAggregateNetworkState();
412 return send_stream; 420 return send_stream;
413 } 421 }
414 422
415 void Call::DestroyAudioSendStream(webrtc::AudioSendStream* send_stream) { 423 void Call::DestroyAudioSendStream(webrtc::AudioSendStream* send_stream) {
416 TRACE_EVENT0("webrtc", "Call::DestroyAudioSendStream"); 424 TRACE_EVENT0("webrtc", "Call::DestroyAudioSendStream");
417 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); 425 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
418 RTC_DCHECK(send_stream != nullptr); 426 RTC_DCHECK(send_stream != nullptr);
419 427
420 send_stream->Stop(); 428 send_stream->Stop();
421 429
422 webrtc::internal::AudioSendStream* audio_send_stream = 430 webrtc::internal::AudioSendStream* audio_send_stream =
423 static_cast<webrtc::internal::AudioSendStream*>(send_stream); 431 static_cast<webrtc::internal::AudioSendStream*>(send_stream);
432 uint32_t ssrc = audio_send_stream->config().rtp.ssrc;
424 { 433 {
425 WriteLockScoped write_lock(*send_crit_); 434 WriteLockScoped write_lock(*send_crit_);
426 size_t num_deleted = audio_send_ssrcs_.erase( 435 size_t num_deleted = audio_send_ssrcs_.erase(ssrc);
427 audio_send_stream->config().rtp.ssrc); 436 RTC_DCHECK_EQ(1, num_deleted);
428 RTC_DCHECK(num_deleted == 1); 437 }
438 {
439 ReadLockScoped read_lock(*receive_crit_);
440 for (const auto& kv : audio_receive_ssrcs_) {
441 if (kv.second->config().rtp.local_ssrc == ssrc) {
442 kv.second->AssociateSendStream(nullptr);
443 }
444 }
429 } 445 }
430 UpdateAggregateNetworkState(); 446 UpdateAggregateNetworkState();
431 delete audio_send_stream; 447 delete audio_send_stream;
432 } 448 }
433 449
434 webrtc::AudioReceiveStream* Call::CreateAudioReceiveStream( 450 webrtc::AudioReceiveStream* Call::CreateAudioReceiveStream(
435 const webrtc::AudioReceiveStream::Config& config) { 451 const webrtc::AudioReceiveStream::Config& config) {
436 TRACE_EVENT0("webrtc", "Call::CreateAudioReceiveStream"); 452 TRACE_EVENT0("webrtc", "Call::CreateAudioReceiveStream");
437 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); 453 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
438 event_log_->LogAudioReceiveStreamConfig(config); 454 event_log_->LogAudioReceiveStreamConfig(config);
439 AudioReceiveStream* receive_stream = new AudioReceiveStream( 455 AudioReceiveStream* receive_stream = new AudioReceiveStream(
440 congestion_controller_.get(), config, config_.audio_state, event_log_); 456 congestion_controller_.get(), config, config_.audio_state, event_log_);
441 { 457 {
442 WriteLockScoped write_lock(*receive_crit_); 458 WriteLockScoped write_lock(*receive_crit_);
443 RTC_DCHECK(audio_receive_ssrcs_.find(config.rtp.remote_ssrc) == 459 RTC_DCHECK(audio_receive_ssrcs_.find(config.rtp.remote_ssrc) ==
444 audio_receive_ssrcs_.end()); 460 audio_receive_ssrcs_.end());
445 audio_receive_ssrcs_[config.rtp.remote_ssrc] = receive_stream; 461 audio_receive_ssrcs_[config.rtp.remote_ssrc] = receive_stream;
446 ConfigureSync(config.sync_group); 462 ConfigureSync(config.sync_group);
447 } 463 }
464 {
465 ReadLockScoped read_lock(*send_crit_);
466 auto it = audio_send_ssrcs_.find(config.rtp.local_ssrc);
467 if (it != audio_send_ssrcs_.end()) {
468 receive_stream->AssociateSendStream(it->second);
469 }
470 }
448 receive_stream->SignalNetworkState(audio_network_state_); 471 receive_stream->SignalNetworkState(audio_network_state_);
449 UpdateAggregateNetworkState(); 472 UpdateAggregateNetworkState();
450 return receive_stream; 473 return receive_stream;
451 } 474 }
452 475
453 void Call::DestroyAudioReceiveStream( 476 void Call::DestroyAudioReceiveStream(
454 webrtc::AudioReceiveStream* receive_stream) { 477 webrtc::AudioReceiveStream* receive_stream) {
455 TRACE_EVENT0("webrtc", "Call::DestroyAudioReceiveStream"); 478 TRACE_EVENT0("webrtc", "Call::DestroyAudioReceiveStream");
456 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); 479 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
457 RTC_DCHECK(receive_stream != nullptr); 480 RTC_DCHECK(receive_stream != nullptr);
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
1064 uint32_t ssrc = ByteReader<uint32_t>::ReadBigEndian(&packet[8]); 1087 uint32_t ssrc = ByteReader<uint32_t>::ReadBigEndian(&packet[8]);
1065 ReadLockScoped read_lock(*receive_crit_); 1088 ReadLockScoped read_lock(*receive_crit_);
1066 auto it = video_receive_ssrcs_.find(ssrc); 1089 auto it = video_receive_ssrcs_.find(ssrc);
1067 if (it == video_receive_ssrcs_.end()) 1090 if (it == video_receive_ssrcs_.end())
1068 return false; 1091 return false;
1069 return it->second->OnRecoveredPacket(packet, length); 1092 return it->second->OnRecoveredPacket(packet, length);
1070 } 1093 }
1071 1094
1072 } // namespace internal 1095 } // namespace internal
1073 } // namespace webrtc 1096 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/audio/audio_receive_stream_unittest.cc ('k') | webrtc/call/call_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698