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

Side by Side Diff: webrtc/voice_engine/voe_audio_processing_impl.cc

Issue 1347353004: Reduce LS_INFO spam from voice_engine/. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years, 3 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 | « webrtc/voice_engine/transmit_mixer.cc ('k') | webrtc/voice_engine/voe_codec_impl.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) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 117
118 return 0; 118 return 0;
119 #else 119 #else
120 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 120 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
121 "SetNsStatus() Ns is not supported"); 121 "SetNsStatus() Ns is not supported");
122 return -1; 122 return -1;
123 #endif 123 #endif
124 } 124 }
125 125
126 int VoEAudioProcessingImpl::GetNsStatus(bool& enabled, NsModes& mode) { 126 int VoEAudioProcessingImpl::GetNsStatus(bool& enabled, NsModes& mode) {
127 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
128 "GetNsStatus(enabled=?, mode=?)");
129 #ifdef WEBRTC_VOICE_ENGINE_NR 127 #ifdef WEBRTC_VOICE_ENGINE_NR
130 if (!_shared->statistics().Initialized()) { 128 if (!_shared->statistics().Initialized()) {
131 _shared->SetLastError(VE_NOT_INITED, kTraceError); 129 _shared->SetLastError(VE_NOT_INITED, kTraceError);
132 return -1; 130 return -1;
133 } 131 }
134 132
135 enabled = _shared->audio_processing()->noise_suppression()->is_enabled(); 133 enabled = _shared->audio_processing()->noise_suppression()->is_enabled();
136 NoiseSuppression::Level nsLevel = 134 NoiseSuppression::Level nsLevel =
137 _shared->audio_processing()->noise_suppression()->level(); 135 _shared->audio_processing()->noise_suppression()->level();
138 136
139 switch (nsLevel) { 137 switch (nsLevel) {
140 case NoiseSuppression::kLow: 138 case NoiseSuppression::kLow:
141 mode = kNsLowSuppression; 139 mode = kNsLowSuppression;
142 break; 140 break;
143 case NoiseSuppression::kModerate: 141 case NoiseSuppression::kModerate:
144 mode = kNsModerateSuppression; 142 mode = kNsModerateSuppression;
145 break; 143 break;
146 case NoiseSuppression::kHigh: 144 case NoiseSuppression::kHigh:
147 mode = kNsHighSuppression; 145 mode = kNsHighSuppression;
148 break; 146 break;
149 case NoiseSuppression::kVeryHigh: 147 case NoiseSuppression::kVeryHigh:
150 mode = kNsVeryHighSuppression; 148 mode = kNsVeryHighSuppression;
151 break; 149 break;
152 } 150 }
153
154 WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
155 "GetNsStatus() => enabled=% d, mode=%d", enabled, mode);
156 return 0; 151 return 0;
157 #else 152 #else
158 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 153 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
159 "GetNsStatus() Ns is not supported"); 154 "GetNsStatus() Ns is not supported");
160 return -1; 155 return -1;
161 #endif 156 #endif
162 } 157 }
163 158
164 int VoEAudioProcessingImpl::SetAgcStatus(bool enable, AgcModes mode) { 159 int VoEAudioProcessingImpl::SetAgcStatus(bool enable, AgcModes mode) {
165 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1), 160 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 216
222 return 0; 217 return 0;
223 #else 218 #else
224 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 219 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
225 "SetAgcStatus() Agc is not supported"); 220 "SetAgcStatus() Agc is not supported");
226 return -1; 221 return -1;
227 #endif 222 #endif
228 } 223 }
229 224
230 int VoEAudioProcessingImpl::GetAgcStatus(bool& enabled, AgcModes& mode) { 225 int VoEAudioProcessingImpl::GetAgcStatus(bool& enabled, AgcModes& mode) {
231 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
232 "GetAgcStatus(enabled=?, mode=?)");
233 #ifdef WEBRTC_VOICE_ENGINE_AGC 226 #ifdef WEBRTC_VOICE_ENGINE_AGC
234 if (!_shared->statistics().Initialized()) { 227 if (!_shared->statistics().Initialized()) {
235 _shared->SetLastError(VE_NOT_INITED, kTraceError); 228 _shared->SetLastError(VE_NOT_INITED, kTraceError);
236 return -1; 229 return -1;
237 } 230 }
238 231
239 enabled = _shared->audio_processing()->gain_control()->is_enabled(); 232 enabled = _shared->audio_processing()->gain_control()->is_enabled();
240 GainControl::Mode agcMode = 233 GainControl::Mode agcMode =
241 _shared->audio_processing()->gain_control()->mode(); 234 _shared->audio_processing()->gain_control()->mode();
242 235
243 switch (agcMode) { 236 switch (agcMode) {
244 case GainControl::kFixedDigital: 237 case GainControl::kFixedDigital:
245 mode = kAgcFixedDigital; 238 mode = kAgcFixedDigital;
246 break; 239 break;
247 case GainControl::kAdaptiveAnalog: 240 case GainControl::kAdaptiveAnalog:
248 mode = kAgcAdaptiveAnalog; 241 mode = kAgcAdaptiveAnalog;
249 break; 242 break;
250 case GainControl::kAdaptiveDigital: 243 case GainControl::kAdaptiveDigital:
251 mode = kAgcAdaptiveDigital; 244 mode = kAgcAdaptiveDigital;
252 break; 245 break;
253 } 246 }
254 247
255 WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
256 "GetAgcStatus() => enabled=%d, mode=%d", enabled, mode);
257 return 0; 248 return 0;
258 #else 249 #else
259 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 250 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
260 "GetAgcStatus() Agc is not supported"); 251 "GetAgcStatus() Agc is not supported");
261 return -1; 252 return -1;
262 #endif 253 #endif
263 } 254 }
264 255
265 int VoEAudioProcessingImpl::SetAgcConfig(AgcConfig config) { 256 int VoEAudioProcessingImpl::SetAgcConfig(AgcConfig config) {
266 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1), 257 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
(...skipping 28 matching lines...) Expand all
295 286
296 return 0; 287 return 0;
297 #else 288 #else
298 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 289 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
299 "SetAgcConfig() EC is not supported"); 290 "SetAgcConfig() EC is not supported");
300 return -1; 291 return -1;
301 #endif 292 #endif
302 } 293 }
303 294
304 int VoEAudioProcessingImpl::GetAgcConfig(AgcConfig& config) { 295 int VoEAudioProcessingImpl::GetAgcConfig(AgcConfig& config) {
305 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
306 "GetAgcConfig(config=?)");
307 #ifdef WEBRTC_VOICE_ENGINE_AGC 296 #ifdef WEBRTC_VOICE_ENGINE_AGC
308 if (!_shared->statistics().Initialized()) { 297 if (!_shared->statistics().Initialized()) {
309 _shared->SetLastError(VE_NOT_INITED, kTraceError); 298 _shared->SetLastError(VE_NOT_INITED, kTraceError);
310 return -1; 299 return -1;
311 } 300 }
312 301
313 config.targetLeveldBOv = 302 config.targetLeveldBOv =
314 _shared->audio_processing()->gain_control()->target_level_dbfs(); 303 _shared->audio_processing()->gain_control()->target_level_dbfs();
315 config.digitalCompressionGaindB = 304 config.digitalCompressionGaindB =
316 _shared->audio_processing()->gain_control()->compression_gain_db(); 305 _shared->audio_processing()->gain_control()->compression_gain_db();
317 config.limiterEnable = 306 config.limiterEnable =
318 _shared->audio_processing()->gain_control()->is_limiter_enabled(); 307 _shared->audio_processing()->gain_control()->is_limiter_enabled();
319 308
320 WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
321 "GetAgcConfig() => targetLeveldBOv=%u, "
322 "digitalCompressionGaindB=%u, limiterEnable=%d",
323 config.targetLeveldBOv, config.digitalCompressionGaindB,
324 config.limiterEnable);
325
326 return 0; 309 return 0;
327 #else 310 #else
328 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 311 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
329 "GetAgcConfig() EC is not supported"); 312 "GetAgcConfig() EC is not supported");
330 return -1; 313 return -1;
331 #endif 314 #endif
332 } 315 }
333 316
334 int VoEAudioProcessingImpl::SetRxNsStatus(int channel, 317 int VoEAudioProcessingImpl::SetRxNsStatus(int channel,
335 bool enable, 318 bool enable,
(...skipping 16 matching lines...) Expand all
352 #else 335 #else
353 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 336 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
354 "SetRxNsStatus() NS is not supported"); 337 "SetRxNsStatus() NS is not supported");
355 return -1; 338 return -1;
356 #endif 339 #endif
357 } 340 }
358 341
359 int VoEAudioProcessingImpl::GetRxNsStatus(int channel, 342 int VoEAudioProcessingImpl::GetRxNsStatus(int channel,
360 bool& enabled, 343 bool& enabled,
361 NsModes& mode) { 344 NsModes& mode) {
362 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
363 "GetRxNsStatus(channel=%d, enable=?, mode=?)", channel);
364 #ifdef WEBRTC_VOICE_ENGINE_NR 345 #ifdef WEBRTC_VOICE_ENGINE_NR
365 if (!_shared->statistics().Initialized()) { 346 if (!_shared->statistics().Initialized()) {
366 _shared->SetLastError(VE_NOT_INITED, kTraceError); 347 _shared->SetLastError(VE_NOT_INITED, kTraceError);
367 return -1; 348 return -1;
368 } 349 }
369 350
370 voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel); 351 voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
371 voe::Channel* channelPtr = ch.channel(); 352 voe::Channel* channelPtr = ch.channel();
372 if (channelPtr == NULL) { 353 if (channelPtr == NULL) {
373 _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError, 354 _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 #else 386 #else
406 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 387 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
407 "SetRxAgcStatus() Agc is not supported"); 388 "SetRxAgcStatus() Agc is not supported");
408 return -1; 389 return -1;
409 #endif 390 #endif
410 } 391 }
411 392
412 int VoEAudioProcessingImpl::GetRxAgcStatus(int channel, 393 int VoEAudioProcessingImpl::GetRxAgcStatus(int channel,
413 bool& enabled, 394 bool& enabled,
414 AgcModes& mode) { 395 AgcModes& mode) {
415 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
416 "GetRxAgcStatus(channel=%d, enable=?, mode=?)", channel);
417 #ifdef WEBRTC_VOICE_ENGINE_AGC 396 #ifdef WEBRTC_VOICE_ENGINE_AGC
418 if (!_shared->statistics().Initialized()) { 397 if (!_shared->statistics().Initialized()) {
419 _shared->SetLastError(VE_NOT_INITED, kTraceError); 398 _shared->SetLastError(VE_NOT_INITED, kTraceError);
420 return -1; 399 return -1;
421 } 400 }
422 401
423 voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel); 402 voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
424 voe::Channel* channelPtr = ch.channel(); 403 voe::Channel* channelPtr = ch.channel();
425 if (channelPtr == NULL) { 404 if (channelPtr == NULL) {
426 _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError, 405 _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
(...skipping 26 matching lines...) Expand all
453 } 432 }
454 return channelPtr->SetRxAgcConfig(config); 433 return channelPtr->SetRxAgcConfig(config);
455 #else 434 #else
456 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 435 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
457 "SetRxAgcConfig() Agc is not supported"); 436 "SetRxAgcConfig() Agc is not supported");
458 return -1; 437 return -1;
459 #endif 438 #endif
460 } 439 }
461 440
462 int VoEAudioProcessingImpl::GetRxAgcConfig(int channel, AgcConfig& config) { 441 int VoEAudioProcessingImpl::GetRxAgcConfig(int channel, AgcConfig& config) {
463 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
464 "GetRxAgcConfig(channel=%d)", channel);
465 #ifdef WEBRTC_VOICE_ENGINE_AGC 442 #ifdef WEBRTC_VOICE_ENGINE_AGC
466 if (!_shared->statistics().Initialized()) { 443 if (!_shared->statistics().Initialized()) {
467 _shared->SetLastError(VE_NOT_INITED, kTraceError); 444 _shared->SetLastError(VE_NOT_INITED, kTraceError);
468 return -1; 445 return -1;
469 } 446 }
470 447
471 voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel); 448 voe::ChannelOwner ch = _shared->channel_manager().GetChannel(channel);
472 voe::Channel* channelPtr = ch.channel(); 449 voe::Channel* channelPtr = ch.channel();
473 if (channelPtr == NULL) { 450 if (channelPtr == NULL) {
474 _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError, 451 _shared->SetLastError(VE_CHANNEL_NOT_VALID, kTraceError,
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 579
603 return 0; 580 return 0;
604 #else 581 #else
605 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 582 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
606 "SetEcStatus() EC is not supported"); 583 "SetEcStatus() EC is not supported");
607 return -1; 584 return -1;
608 #endif 585 #endif
609 } 586 }
610 587
611 int VoEAudioProcessingImpl::GetEcStatus(bool& enabled, EcModes& mode) { 588 int VoEAudioProcessingImpl::GetEcStatus(bool& enabled, EcModes& mode) {
612 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
613 "GetEcStatus()");
614 #ifdef WEBRTC_VOICE_ENGINE_ECHO 589 #ifdef WEBRTC_VOICE_ENGINE_ECHO
615 if (!_shared->statistics().Initialized()) { 590 if (!_shared->statistics().Initialized()) {
616 _shared->SetLastError(VE_NOT_INITED, kTraceError); 591 _shared->SetLastError(VE_NOT_INITED, kTraceError);
617 return -1; 592 return -1;
618 } 593 }
619 594
620 if (_isAecMode == true) { 595 if (_isAecMode == true) {
621 mode = kEcAec; 596 mode = kEcAec;
622 enabled = _shared->audio_processing()->echo_cancellation()->is_enabled(); 597 enabled = _shared->audio_processing()->echo_cancellation()->is_enabled();
623 } else { 598 } else {
624 mode = kEcAecm; 599 mode = kEcAecm;
625 enabled = _shared->audio_processing()->echo_control_mobile()->is_enabled(); 600 enabled = _shared->audio_processing()->echo_control_mobile()->is_enabled();
626 } 601 }
627 602
628 WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
629 "GetEcStatus() => enabled=%i, mode=%i", enabled, (int)mode);
630 return 0; 603 return 0;
631 #else 604 #else
632 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 605 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
633 "GetEcStatus() EC is not supported"); 606 "GetEcStatus() EC is not supported");
634 return -1; 607 return -1;
635 #endif 608 #endif
636 } 609 }
637 610
638 void VoEAudioProcessingImpl::SetDelayOffsetMs(int offset) { 611 void VoEAudioProcessingImpl::SetDelayOffsetMs(int offset) {
639 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1), 612 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
640 "SetDelayOffsetMs(offset = %d)", offset); 613 "SetDelayOffsetMs(offset = %d)", offset);
641 _shared->audio_processing()->set_delay_offset_ms(offset); 614 _shared->audio_processing()->set_delay_offset_ms(offset);
642 } 615 }
643 616
644 int VoEAudioProcessingImpl::DelayOffsetMs() { 617 int VoEAudioProcessingImpl::DelayOffsetMs() {
645 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
646 "DelayOffsetMs()");
647 return _shared->audio_processing()->delay_offset_ms(); 618 return _shared->audio_processing()->delay_offset_ms();
648 } 619 }
649 620
650 int VoEAudioProcessingImpl::SetAecmMode(AecmModes mode, bool enableCNG) { 621 int VoEAudioProcessingImpl::SetAecmMode(AecmModes mode, bool enableCNG) {
651 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1), 622 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
652 "SetAECMMode(mode = %d)", mode); 623 "SetAECMMode(mode = %d)", mode);
653 #ifdef WEBRTC_VOICE_ENGINE_ECHO 624 #ifdef WEBRTC_VOICE_ENGINE_ECHO
654 if (!_shared->statistics().Initialized()) { 625 if (!_shared->statistics().Initialized()) {
655 _shared->SetLastError(VE_NOT_INITED, kTraceError); 626 _shared->SetLastError(VE_NOT_INITED, kTraceError);
656 return -1; 627 return -1;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 664
694 return 0; 665 return 0;
695 #else 666 #else
696 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 667 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
697 "SetAECMMode() EC is not supported"); 668 "SetAECMMode() EC is not supported");
698 return -1; 669 return -1;
699 #endif 670 #endif
700 } 671 }
701 672
702 int VoEAudioProcessingImpl::GetAecmMode(AecmModes& mode, bool& enabledCNG) { 673 int VoEAudioProcessingImpl::GetAecmMode(AecmModes& mode, bool& enabledCNG) {
703 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
704 "GetAECMMode(mode=?)");
705 #ifdef WEBRTC_VOICE_ENGINE_ECHO 674 #ifdef WEBRTC_VOICE_ENGINE_ECHO
706 if (!_shared->statistics().Initialized()) { 675 if (!_shared->statistics().Initialized()) {
707 _shared->SetLastError(VE_NOT_INITED, kTraceError); 676 _shared->SetLastError(VE_NOT_INITED, kTraceError);
708 return -1; 677 return -1;
709 } 678 }
710 679
711 enabledCNG = false; 680 enabledCNG = false;
712 681
713 EchoControlMobile::RoutingMode aecmMode = 682 EchoControlMobile::RoutingMode aecmMode =
714 _shared->audio_processing()->echo_control_mobile()->routing_mode(); 683 _shared->audio_processing()->echo_control_mobile()->routing_mode();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 AudioProcessing::kNoError) { 718 AudioProcessing::kNoError) {
750 _shared->SetLastError(VE_APM_ERROR, kTraceError, 719 _shared->SetLastError(VE_APM_ERROR, kTraceError,
751 "HighPassFilter::Enable() failed."); 720 "HighPassFilter::Enable() failed.");
752 return -1; 721 return -1;
753 } 722 }
754 723
755 return 0; 724 return 0;
756 } 725 }
757 726
758 bool VoEAudioProcessingImpl::IsHighPassFilterEnabled() { 727 bool VoEAudioProcessingImpl::IsHighPassFilterEnabled() {
759 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
760 "IsHighPassFilterEnabled()");
761 return _shared->audio_processing()->high_pass_filter()->is_enabled(); 728 return _shared->audio_processing()->high_pass_filter()->is_enabled();
762 } 729 }
763 730
764 int VoEAudioProcessingImpl::RegisterRxVadObserver(int channel, 731 int VoEAudioProcessingImpl::RegisterRxVadObserver(int channel,
765 VoERxVadCallback& observer) { 732 VoERxVadCallback& observer) {
766 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1), 733 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
767 "RegisterRxVadObserver()"); 734 "RegisterRxVadObserver()");
768 if (!_shared->statistics().Initialized()) { 735 if (!_shared->statistics().Initialized()) {
769 _shared->SetLastError(VE_NOT_INITED, kTraceError); 736 _shared->SetLastError(VE_NOT_INITED, kTraceError);
770 return -1; 737 return -1;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
837 } 804 }
838 return 0; 805 return 0;
839 #else 806 #else
840 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 807 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
841 "SetEcStatus() EC is not supported"); 808 "SetEcStatus() EC is not supported");
842 return -1; 809 return -1;
843 #endif 810 #endif
844 } 811 }
845 812
846 int VoEAudioProcessingImpl::GetEcMetricsStatus(bool& enabled) { 813 int VoEAudioProcessingImpl::GetEcMetricsStatus(bool& enabled) {
847 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
848 "GetEcMetricsStatus(enabled=?)");
849 #ifdef WEBRTC_VOICE_ENGINE_ECHO 814 #ifdef WEBRTC_VOICE_ENGINE_ECHO
850 if (!_shared->statistics().Initialized()) { 815 if (!_shared->statistics().Initialized()) {
851 _shared->SetLastError(VE_NOT_INITED, kTraceError); 816 _shared->SetLastError(VE_NOT_INITED, kTraceError);
852 return -1; 817 return -1;
853 } 818 }
854 819
855 bool echo_mode = 820 bool echo_mode =
856 _shared->audio_processing()->echo_cancellation()->are_metrics_enabled(); 821 _shared->audio_processing()->echo_cancellation()->are_metrics_enabled();
857 bool delay_mode = _shared->audio_processing() 822 bool delay_mode = _shared->audio_processing()
858 ->echo_cancellation() 823 ->echo_cancellation()
859 ->is_delay_logging_enabled(); 824 ->is_delay_logging_enabled();
860 825
861 if (echo_mode != delay_mode) { 826 if (echo_mode != delay_mode) {
862 _shared->SetLastError( 827 _shared->SetLastError(
863 VE_APM_ERROR, kTraceError, 828 VE_APM_ERROR, kTraceError,
864 "GetEcMetricsStatus() delay logging and echo mode are not the same"); 829 "GetEcMetricsStatus() delay logging and echo mode are not the same");
865 return -1; 830 return -1;
866 } 831 }
867 832
868 enabled = echo_mode; 833 enabled = echo_mode;
869 834
870 WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
871 "GetEcMetricsStatus() => enabled=%d", enabled);
872 return 0; 835 return 0;
873 #else 836 #else
874 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 837 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
875 "SetEcStatus() EC is not supported"); 838 "SetEcStatus() EC is not supported");
876 return -1; 839 return -1;
877 #endif 840 #endif
878 } 841 }
879 842
880 int VoEAudioProcessingImpl::GetEchoMetrics(int& ERL, 843 int VoEAudioProcessingImpl::GetEchoMetrics(int& ERL,
881 int& ERLE, 844 int& ERLE,
882 int& RERL, 845 int& RERL,
883 int& A_NLP) { 846 int& A_NLP) {
884 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
885 "GetEchoMetrics(ERL=?, ERLE=?, RERL=?, A_NLP=?)");
886 #ifdef WEBRTC_VOICE_ENGINE_ECHO 847 #ifdef WEBRTC_VOICE_ENGINE_ECHO
887 if (!_shared->statistics().Initialized()) { 848 if (!_shared->statistics().Initialized()) {
888 _shared->SetLastError(VE_NOT_INITED, kTraceError); 849 _shared->SetLastError(VE_NOT_INITED, kTraceError);
889 return -1; 850 return -1;
890 } 851 }
891 if (!_shared->audio_processing()->echo_cancellation()->is_enabled()) { 852 if (!_shared->audio_processing()->echo_cancellation()->is_enabled()) {
892 _shared->SetLastError( 853 _shared->SetLastError(
893 VE_APM_ERROR, kTraceWarning, 854 VE_APM_ERROR, kTraceWarning,
894 "GetEchoMetrics() AudioProcessingModule AEC is not enabled"); 855 "GetEchoMetrics() AudioProcessingModule AEC is not enabled");
895 return -1; 856 return -1;
896 } 857 }
897 858
898 // Get Echo Metrics from Audio Processing Module. 859 // Get Echo Metrics from Audio Processing Module.
899 EchoCancellation::Metrics echoMetrics; 860 EchoCancellation::Metrics echoMetrics;
900 if (_shared->audio_processing()->echo_cancellation()->GetMetrics( 861 if (_shared->audio_processing()->echo_cancellation()->GetMetrics(
901 &echoMetrics)) { 862 &echoMetrics)) {
902 WEBRTC_TRACE(kTraceError, kTraceVoice, VoEId(_shared->instance_id(), -1), 863 WEBRTC_TRACE(kTraceError, kTraceVoice, VoEId(_shared->instance_id(), -1),
903 "GetEchoMetrics(), AudioProcessingModule metrics error"); 864 "GetEchoMetrics(), AudioProcessingModule metrics error");
904 return -1; 865 return -1;
905 } 866 }
906 867
907 // Echo quality metrics. 868 // Echo quality metrics.
908 ERL = echoMetrics.echo_return_loss.instant; 869 ERL = echoMetrics.echo_return_loss.instant;
909 ERLE = echoMetrics.echo_return_loss_enhancement.instant; 870 ERLE = echoMetrics.echo_return_loss_enhancement.instant;
910 RERL = echoMetrics.residual_echo_return_loss.instant; 871 RERL = echoMetrics.residual_echo_return_loss.instant;
911 A_NLP = echoMetrics.a_nlp.instant; 872 A_NLP = echoMetrics.a_nlp.instant;
912 873
913 WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
914 "GetEchoMetrics() => ERL=%d, ERLE=%d, RERL=%d, A_NLP=%d", ERL,
915 ERLE, RERL, A_NLP);
916 return 0; 874 return 0;
917 #else 875 #else
918 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 876 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
919 "SetEcStatus() EC is not supported"); 877 "SetEcStatus() EC is not supported");
920 return -1; 878 return -1;
921 #endif 879 #endif
922 } 880 }
923 881
924 int VoEAudioProcessingImpl::GetEcDelayMetrics(int& delay_median, 882 int VoEAudioProcessingImpl::GetEcDelayMetrics(int& delay_median,
925 int& delay_std, 883 int& delay_std,
926 float& fraction_poor_delays) { 884 float& fraction_poor_delays) {
927 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
928 "GetEcDelayMetrics(median=?, std=?, fraction_poor_delays=?)");
929 #ifdef WEBRTC_VOICE_ENGINE_ECHO 885 #ifdef WEBRTC_VOICE_ENGINE_ECHO
930 if (!_shared->statistics().Initialized()) { 886 if (!_shared->statistics().Initialized()) {
931 _shared->SetLastError(VE_NOT_INITED, kTraceError); 887 _shared->SetLastError(VE_NOT_INITED, kTraceError);
932 return -1; 888 return -1;
933 } 889 }
934 if (!_shared->audio_processing()->echo_cancellation()->is_enabled()) { 890 if (!_shared->audio_processing()->echo_cancellation()->is_enabled()) {
935 _shared->SetLastError( 891 _shared->SetLastError(
936 VE_APM_ERROR, kTraceWarning, 892 VE_APM_ERROR, kTraceWarning,
937 "GetEcDelayMetrics() AudioProcessingModule AEC is not enabled"); 893 "GetEcDelayMetrics() AudioProcessingModule AEC is not enabled");
938 return -1; 894 return -1;
939 } 895 }
940 896
941 int median = 0; 897 int median = 0;
942 int std = 0; 898 int std = 0;
943 float poor_fraction = 0; 899 float poor_fraction = 0;
944 // Get delay-logging values from Audio Processing Module. 900 // Get delay-logging values from Audio Processing Module.
945 if (_shared->audio_processing()->echo_cancellation()->GetDelayMetrics( 901 if (_shared->audio_processing()->echo_cancellation()->GetDelayMetrics(
946 &median, &std, &poor_fraction)) { 902 &median, &std, &poor_fraction)) {
947 WEBRTC_TRACE(kTraceError, kTraceVoice, VoEId(_shared->instance_id(), -1), 903 WEBRTC_TRACE(kTraceError, kTraceVoice, VoEId(_shared->instance_id(), -1),
948 "GetEcDelayMetrics(), AudioProcessingModule delay-logging " 904 "GetEcDelayMetrics(), AudioProcessingModule delay-logging "
949 "error"); 905 "error");
950 return -1; 906 return -1;
951 } 907 }
952 908
953 // EC delay-logging metrics 909 // EC delay-logging metrics
954 delay_median = median; 910 delay_median = median;
955 delay_std = std; 911 delay_std = std;
956 fraction_poor_delays = poor_fraction; 912 fraction_poor_delays = poor_fraction;
957 913
958 WEBRTC_TRACE(kTraceStateInfo, kTraceVoice, VoEId(_shared->instance_id(), -1),
959 "GetEcDelayMetrics() => delay_median=%d, delay_std=%d, "
960 "fraction_poor_delays=%f",
961 delay_median, delay_std, fraction_poor_delays);
962 return 0; 914 return 0;
963 #else 915 #else
964 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, 916 _shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError,
965 "SetEcStatus() EC is not supported"); 917 "SetEcStatus() EC is not supported");
966 return -1; 918 return -1;
967 #endif 919 #endif
968 } 920 }
969 921
970 int VoEAudioProcessingImpl::StartDebugRecording(const char* fileNameUTF8) { 922 int VoEAudioProcessingImpl::StartDebugRecording(const char* fileNameUTF8) {
971 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1), 923 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
1025 VE_APM_ERROR, kTraceWarning, 977 VE_APM_ERROR, kTraceWarning,
1026 "SetTypingDetectionStatus() failed to set VAD likelihood to low"); 978 "SetTypingDetectionStatus() failed to set VAD likelihood to low");
1027 return -1; 979 return -1;
1028 } 980 }
1029 981
1030 return 0; 982 return 0;
1031 #endif 983 #endif
1032 } 984 }
1033 985
1034 int VoEAudioProcessingImpl::GetTypingDetectionStatus(bool& enabled) { 986 int VoEAudioProcessingImpl::GetTypingDetectionStatus(bool& enabled) {
1035 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
1036 "GetTypingDetectionStatus()");
1037 if (!_shared->statistics().Initialized()) { 987 if (!_shared->statistics().Initialized()) {
1038 _shared->SetLastError(VE_NOT_INITED, kTraceError); 988 _shared->SetLastError(VE_NOT_INITED, kTraceError);
1039 return -1; 989 return -1;
1040 } 990 }
1041 // Just use the VAD state to determine if we should enable typing 991 // Just use the VAD state to determine if we should enable typing
1042 // detection or not 992 // detection or not
1043 993
1044 enabled = _shared->audio_processing()->voice_detection()->is_enabled(); 994 enabled = _shared->audio_processing()->voice_detection()->is_enabled();
1045 995
1046 return 0; 996 return 0;
1047 } 997 }
1048 998
1049 int VoEAudioProcessingImpl::TimeSinceLastTyping(int& seconds) { 999 int VoEAudioProcessingImpl::TimeSinceLastTyping(int& seconds) {
1050 WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
1051 "TimeSinceLastTyping()");
1052 #if !defined(WEBRTC_VOICE_ENGINE_TYPING_DETECTION) 1000 #if !defined(WEBRTC_VOICE_ENGINE_TYPING_DETECTION)
1053 NOT_SUPPORTED(_shared->statistics()); 1001 NOT_SUPPORTED(_shared->statistics());
1054 #else 1002 #else
1055 if (!_shared->statistics().Initialized()) { 1003 if (!_shared->statistics().Initialized()) {
1056 _shared->SetLastError(VE_NOT_INITED, kTraceError); 1004 _shared->SetLastError(VE_NOT_INITED, kTraceError);
1057 return -1; 1005 return -1;
1058 } 1006 }
1059 // Check if typing detection is enabled 1007 // Check if typing detection is enabled
1060 bool enabled = _shared->audio_processing()->voice_detection()->is_enabled(); 1008 bool enabled = _shared->audio_processing()->voice_detection()->is_enabled();
1061 if (enabled) { 1009 if (enabled) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1095 } 1043 }
1096 1044
1097 bool VoEAudioProcessingImpl::IsStereoChannelSwappingEnabled() { 1045 bool VoEAudioProcessingImpl::IsStereoChannelSwappingEnabled() {
1098 LOG_API0(); 1046 LOG_API0();
1099 return _shared->transmit_mixer()->IsStereoChannelSwappingEnabled(); 1047 return _shared->transmit_mixer()->IsStereoChannelSwappingEnabled();
1100 } 1048 }
1101 1049
1102 #endif // #ifdef WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API 1050 #endif // #ifdef WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API
1103 1051
1104 } // namespace webrtc 1052 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/voice_engine/transmit_mixer.cc ('k') | webrtc/voice_engine/voe_codec_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698