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

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

Issue 1414743004: Implement AudioSendStream::GetStats(). (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: comments Created 5 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
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 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 Call::Call(const Call::Config& config) 142 Call::Call(const Call::Config& config)
143 : num_cpu_cores_(CpuInfo::DetectNumberOfCores()), 143 : num_cpu_cores_(CpuInfo::DetectNumberOfCores()),
144 module_process_thread_(ProcessThread::Create("ModuleProcessThread")), 144 module_process_thread_(ProcessThread::Create("ModuleProcessThread")),
145 call_stats_(new CallStats()), 145 call_stats_(new CallStats()),
146 congestion_controller_(new CongestionController( 146 congestion_controller_(new CongestionController(
147 module_process_thread_.get(), call_stats_.get())), 147 module_process_thread_.get(), call_stats_.get())),
148 config_(config), 148 config_(config),
149 network_enabled_(true), 149 network_enabled_(true),
150 receive_crit_(RWLockWrapper::CreateRWLock()), 150 receive_crit_(RWLockWrapper::CreateRWLock()),
151 send_crit_(RWLockWrapper::CreateRWLock()) { 151 send_crit_(RWLockWrapper::CreateRWLock()) {
152 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
153 RTC_DCHECK_GE(config.bitrate_config.min_bitrate_bps, 0); 152 RTC_DCHECK_GE(config.bitrate_config.min_bitrate_bps, 0);
154 RTC_DCHECK_GE(config.bitrate_config.start_bitrate_bps, 153 RTC_DCHECK_GE(config.bitrate_config.start_bitrate_bps,
155 config.bitrate_config.min_bitrate_bps); 154 config.bitrate_config.min_bitrate_bps);
156 if (config.bitrate_config.max_bitrate_bps != -1) { 155 if (config.bitrate_config.max_bitrate_bps != -1) {
157 RTC_DCHECK_GE(config.bitrate_config.max_bitrate_bps, 156 RTC_DCHECK_GE(config.bitrate_config.max_bitrate_bps,
158 config.bitrate_config.start_bitrate_bps); 157 config.bitrate_config.start_bitrate_bps);
159 } 158 }
160 if (config.voice_engine) { 159 if (config.voice_engine) {
161 // Keep a reference to VoECodec, so we're sure the VoiceEngine lives for the 160 // Keep a reference to VoECodec, so we're sure the VoiceEngine lives for the
162 // duration of the call. 161 // duration of the call.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 // TODO(solenberg): Some test cases in EndToEndTest use this from a different 195 // TODO(solenberg): Some test cases in EndToEndTest use this from a different
197 // thread. Re-enable once that is fixed. 196 // thread. Re-enable once that is fixed.
198 // RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); 197 // RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
199 return this; 198 return this;
200 } 199 }
201 200
202 webrtc::AudioSendStream* Call::CreateAudioSendStream( 201 webrtc::AudioSendStream* Call::CreateAudioSendStream(
203 const webrtc::AudioSendStream::Config& config) { 202 const webrtc::AudioSendStream::Config& config) {
204 TRACE_EVENT0("webrtc", "Call::CreateAudioSendStream"); 203 TRACE_EVENT0("webrtc", "Call::CreateAudioSendStream");
205 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread()); 204 RTC_DCHECK(configuration_thread_checker_.CalledOnValidThread());
206 AudioSendStream* send_stream = new AudioSendStream(config); 205 AudioSendStream* send_stream =
206 new AudioSendStream(config, config_.voice_engine);
207 { 207 {
208 rtc::CritScope lock(&network_enabled_crit_); 208 rtc::CritScope lock(&network_enabled_crit_);
209 WriteLockScoped write_lock(*send_crit_); 209 WriteLockScoped write_lock(*send_crit_);
210 RTC_DCHECK(audio_send_ssrcs_.find(config.rtp.ssrc) == 210 RTC_DCHECK(audio_send_ssrcs_.find(config.rtp.ssrc) ==
211 audio_send_ssrcs_.end()); 211 audio_send_ssrcs_.end());
212 audio_send_ssrcs_[config.rtp.ssrc] = send_stream; 212 audio_send_ssrcs_[config.rtp.ssrc] = send_stream;
213 213
214 if (!network_enabled_) 214 if (!network_enabled_)
215 send_stream->SignalNetworkState(kNetworkDown); 215 send_stream->SignalNetworkState(kNetworkDown);
216 } 216 }
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
606 // thread. Then this check can be enabled. 606 // thread. Then this check can be enabled.
607 // RTC_DCHECK(!configuration_thread_checker_.CalledOnValidThread()); 607 // RTC_DCHECK(!configuration_thread_checker_.CalledOnValidThread());
608 if (RtpHeaderParser::IsRtcp(packet, length)) 608 if (RtpHeaderParser::IsRtcp(packet, length))
609 return DeliverRtcp(media_type, packet, length); 609 return DeliverRtcp(media_type, packet, length);
610 610
611 return DeliverRtp(media_type, packet, length, packet_time); 611 return DeliverRtp(media_type, packet, length, packet_time);
612 } 612 }
613 613
614 } // namespace internal 614 } // namespace internal
615 } // namespace webrtc 615 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698