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

Side by Side Diff: webrtc/media/engine/webrtcvoiceengine.cc

Issue 2745253007: (Re)move VoE specific enums from common_types.h. (Closed)
Patch Set: Created 3 years, 9 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/media/engine/webrtcvoiceengine.h ('k') | no next file » | 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) 2004 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2004 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 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 return new WebRtcVoiceMediaChannel(this, config, options, call); 674 return new WebRtcVoiceMediaChannel(this, config, options, call);
675 } 675 }
676 676
677 bool WebRtcVoiceEngine::ApplyOptions(const AudioOptions& options_in) { 677 bool WebRtcVoiceEngine::ApplyOptions(const AudioOptions& options_in) {
678 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); 678 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
679 LOG(LS_INFO) << "WebRtcVoiceEngine::ApplyOptions: " << options_in.ToString(); 679 LOG(LS_INFO) << "WebRtcVoiceEngine::ApplyOptions: " << options_in.ToString();
680 AudioOptions options = options_in; // The options are modified below. 680 AudioOptions options = options_in; // The options are modified below.
681 681
682 // kEcConference is AEC with high suppression. 682 // kEcConference is AEC with high suppression.
683 webrtc::EcModes ec_mode = webrtc::kEcConference; 683 webrtc::EcModes ec_mode = webrtc::kEcConference;
684 webrtc::AgcModes agc_mode = webrtc::kAgcAdaptiveAnalog;
685 if (options.aecm_generate_comfort_noise) { 684 if (options.aecm_generate_comfort_noise) {
686 LOG(LS_VERBOSE) << "Comfort noise explicitly set to " 685 LOG(LS_VERBOSE) << "Comfort noise explicitly set to "
687 << *options.aecm_generate_comfort_noise 686 << *options.aecm_generate_comfort_noise
688 << " (default is false)."; 687 << " (default is false).";
689 } 688 }
690 689
691 #if defined(WEBRTC_IOS) 690 #if defined(WEBRTC_IOS)
692 // On iOS, VPIO provides built-in EC, NS and AGC. 691 // On iOS, VPIO provides built-in EC, NS and AGC.
693 options.echo_cancellation = rtc::Optional<bool>(false); 692 options.echo_cancellation = rtc::Optional<bool>(false);
694 options.auto_gain_control = rtc::Optional<bool>(false); 693 options.auto_gain_control = rtc::Optional<bool>(false);
695 options.noise_suppression = rtc::Optional<bool>(false); 694 options.noise_suppression = rtc::Optional<bool>(false);
696 LOG(LS_INFO) 695 LOG(LS_INFO)
697 << "Always disable AEC, NS and AGC on iOS. Use built-in instead."; 696 << "Always disable AEC, NS and AGC on iOS. Use built-in instead.";
698 #elif defined(ANDROID) 697 #elif defined(ANDROID)
699 ec_mode = webrtc::kEcAecm; 698 ec_mode = webrtc::kEcAecm;
700 #endif 699 #endif
701 700
702 #if defined(WEBRTC_IOS) || defined(ANDROID) 701 #if defined(WEBRTC_IOS) || defined(ANDROID)
703 // Set the AGC mode for iOS as well despite disabling it above, to avoid
704 // unsupported configuration errors from webrtc.
705 agc_mode = webrtc::kAgcFixedDigital;
706 options.typing_detection = rtc::Optional<bool>(false); 702 options.typing_detection = rtc::Optional<bool>(false);
707 options.experimental_agc = rtc::Optional<bool>(false); 703 options.experimental_agc = rtc::Optional<bool>(false);
708 options.extended_filter_aec = rtc::Optional<bool>(false); 704 options.extended_filter_aec = rtc::Optional<bool>(false);
709 options.experimental_ns = rtc::Optional<bool>(false); 705 options.experimental_ns = rtc::Optional<bool>(false);
710 #endif 706 #endif
711 707
712 // Delay Agnostic AEC automatically turns on EC if not set except on iOS 708 // Delay Agnostic AEC automatically turns on EC if not set except on iOS
713 // where the feature is not supported. 709 // where the feature is not supported.
714 bool use_delay_agnostic_aec = false; 710 bool use_delay_agnostic_aec = false;
715 #if !defined(WEBRTC_IOS) 711 #if !defined(WEBRTC_IOS)
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 bool built_in_agc_avaliable = adm()->BuiltInAGCIsAvailable(); 759 bool built_in_agc_avaliable = adm()->BuiltInAGCIsAvailable();
764 if (built_in_agc_avaliable) { 760 if (built_in_agc_avaliable) {
765 if (adm()->EnableBuiltInAGC(*options.auto_gain_control) == 0 && 761 if (adm()->EnableBuiltInAGC(*options.auto_gain_control) == 0 &&
766 *options.auto_gain_control) { 762 *options.auto_gain_control) {
767 // Disable internal software AGC if built-in AGC is enabled, 763 // Disable internal software AGC if built-in AGC is enabled,
768 // i.e., replace the software AGC with the built-in AGC. 764 // i.e., replace the software AGC with the built-in AGC.
769 options.auto_gain_control = rtc::Optional<bool>(false); 765 options.auto_gain_control = rtc::Optional<bool>(false);
770 LOG(LS_INFO) << "Disabling AGC since built-in AGC will be used instead"; 766 LOG(LS_INFO) << "Disabling AGC since built-in AGC will be used instead";
771 } 767 }
772 } 768 }
773 webrtc::apm_helpers::SetAgcStatus( 769 webrtc::apm_helpers::SetAgcStatus(apm(), adm(), *options.auto_gain_control);
774 apm(), adm(), *options.auto_gain_control, agc_mode);
775 } 770 }
776 771
777 if (options.tx_agc_target_dbov || options.tx_agc_digital_compression_gain || 772 if (options.tx_agc_target_dbov || options.tx_agc_digital_compression_gain ||
778 options.tx_agc_limiter || options.adjust_agc_delta) { 773 options.tx_agc_limiter || options.adjust_agc_delta) {
779 // Override default_agc_config_. Generally, an unset option means "leave 774 // Override default_agc_config_. Generally, an unset option means "leave
780 // the VoE bits alone" in this function, so we want whatever is set to be 775 // the VoE bits alone" in this function, so we want whatever is set to be
781 // stored as the new "default". If we didn't, then setting e.g. 776 // stored as the new "default". If we didn't, then setting e.g.
782 // tx_agc_target_dbov would reset digital compression gain and limiter 777 // tx_agc_target_dbov would reset digital compression gain and limiter
783 // settings. 778 // settings.
784 // Also, if we don't update default_agc_config_, then adjust_agc_delta 779 // Also, if we don't update default_agc_config_, then adjust_agc_delta
(...skipping 1874 matching lines...) Expand 10 before | Expand all | Expand 10 after
2659 ssrc); 2654 ssrc);
2660 if (it != unsignaled_recv_ssrcs_.end()) { 2655 if (it != unsignaled_recv_ssrcs_.end()) {
2661 unsignaled_recv_ssrcs_.erase(it); 2656 unsignaled_recv_ssrcs_.erase(it);
2662 return true; 2657 return true;
2663 } 2658 }
2664 return false; 2659 return false;
2665 } 2660 }
2666 } // namespace cricket 2661 } // namespace cricket
2667 2662
2668 #endif // HAVE_WEBRTC_VOICE 2663 #endif // HAVE_WEBRTC_VOICE
OLDNEW
« no previous file with comments | « webrtc/media/engine/webrtcvoiceengine.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698