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/media/engine/webrtcvoiceengine_unittest.cc

Issue 2415403002: Introduced the new parameter setting scheme for activating the high-pass filter in APM (Closed)
Patch Set: Corrected the highpass filter support in the unittest 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2008 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2008 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 553 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 codec.ToCodecParameters()); 564 codec.ToCodecParameters());
565 } 565 }
566 EXPECT_EQ(recv_parameters_.codecs.size(), info.receive_codecs.size()); 566 EXPECT_EQ(recv_parameters_.codecs.size(), info.receive_codecs.size());
567 for (const cricket::AudioCodec& codec : recv_parameters_.codecs) { 567 for (const cricket::AudioCodec& codec : recv_parameters_.codecs) {
568 ASSERT_EQ(info.receive_codecs.count(codec.id), 1U); 568 ASSERT_EQ(info.receive_codecs.count(codec.id), 1U);
569 EXPECT_EQ(info.receive_codecs.find(codec.id)->second, 569 EXPECT_EQ(info.receive_codecs.find(codec.id)->second,
570 codec.ToCodecParameters()); 570 codec.ToCodecParameters());
571 } 571 }
572 } 572 }
573 573
574 bool IsHighPassFilterEnabled() {
575 return engine_->GetApmConfig().high_pass_filter.enabled;
576 }
577
574 protected: 578 protected:
575 StrictMock<webrtc::test::MockAudioDeviceModule> adm_; 579 StrictMock<webrtc::test::MockAudioDeviceModule> adm_;
576 StrictMock<webrtc::test::MockAudioProcessing> apm_; 580 StrictMock<webrtc::test::MockAudioProcessing> apm_;
577 webrtc::RtcEventLogNullImpl event_log_; 581 webrtc::RtcEventLogNullImpl event_log_;
578 cricket::FakeCall call_; 582 cricket::FakeCall call_;
579 cricket::FakeWebRtcVoiceEngine voe_; 583 cricket::FakeWebRtcVoiceEngine voe_;
580 std::unique_ptr<cricket::WebRtcVoiceEngine> engine_; 584 std::unique_ptr<cricket::WebRtcVoiceEngine> engine_;
581 cricket::VoiceMediaChannel* channel_ = nullptr; 585 cricket::VoiceMediaChannel* channel_ = nullptr;
582 cricket::AudioSendParameters send_parameters_; 586 cricket::AudioSendParameters send_parameters_;
583 cricket::AudioRecvParameters recv_parameters_; 587 cricket::AudioRecvParameters recv_parameters_;
(...skipping 2202 matching lines...) Expand 10 before | Expand all | Expand 10 after
2786 BuiltInNSIsAvailable()).Times(2).WillRepeatedly(Return(false)); 2790 BuiltInNSIsAvailable()).Times(2).WillRepeatedly(Return(false));
2787 bool ec_enabled; 2791 bool ec_enabled;
2788 webrtc::EcModes ec_mode; 2792 webrtc::EcModes ec_mode;
2789 webrtc::AecmModes aecm_mode; 2793 webrtc::AecmModes aecm_mode;
2790 bool cng_enabled; 2794 bool cng_enabled;
2791 bool agc_enabled; 2795 bool agc_enabled;
2792 webrtc::AgcModes agc_mode; 2796 webrtc::AgcModes agc_mode;
2793 webrtc::AgcConfig agc_config; 2797 webrtc::AgcConfig agc_config;
2794 bool ns_enabled; 2798 bool ns_enabled;
2795 webrtc::NsModes ns_mode; 2799 webrtc::NsModes ns_mode;
2796 bool highpass_filter_enabled; 2800 bool highpass_filter_enabled;
the sun 2016/11/22 14:37:53 Remove this local and make the call to IsHighPassF
peah-webrtc 2016/11/22 14:56:05 Done.
2797 bool stereo_swapping_enabled; 2801 bool stereo_swapping_enabled;
2798 bool typing_detection_enabled; 2802 bool typing_detection_enabled;
2799 voe_.GetEcStatus(ec_enabled, ec_mode); 2803 voe_.GetEcStatus(ec_enabled, ec_mode);
2800 voe_.GetAecmMode(aecm_mode, cng_enabled); 2804 voe_.GetAecmMode(aecm_mode, cng_enabled);
2801 voe_.GetAgcStatus(agc_enabled, agc_mode); 2805 voe_.GetAgcStatus(agc_enabled, agc_mode);
2802 voe_.GetAgcConfig(agc_config); 2806 voe_.GetAgcConfig(agc_config);
2803 voe_.GetNsStatus(ns_enabled, ns_mode); 2807 voe_.GetNsStatus(ns_enabled, ns_mode);
2804 highpass_filter_enabled = voe_.IsHighPassFilterEnabled(); 2808 highpass_filter_enabled = IsHighPassFilterEnabled();
2805 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled(); 2809 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled();
2806 voe_.GetTypingDetectionStatus(typing_detection_enabled); 2810 voe_.GetTypingDetectionStatus(typing_detection_enabled);
2807 EXPECT_TRUE(ec_enabled); 2811 EXPECT_TRUE(ec_enabled);
2808 EXPECT_TRUE(voe_.ec_metrics_enabled()); 2812 EXPECT_TRUE(voe_.ec_metrics_enabled());
2809 EXPECT_FALSE(cng_enabled); 2813 EXPECT_FALSE(cng_enabled);
2810 EXPECT_TRUE(agc_enabled); 2814 EXPECT_TRUE(agc_enabled);
2811 EXPECT_EQ(0, agc_config.targetLeveldBOv); 2815 EXPECT_EQ(0, agc_config.targetLeveldBOv);
2812 EXPECT_TRUE(ns_enabled); 2816 EXPECT_TRUE(ns_enabled);
2813 EXPECT_TRUE(highpass_filter_enabled); 2817 EXPECT_TRUE(highpass_filter_enabled);
2814 EXPECT_FALSE(stereo_swapping_enabled); 2818 EXPECT_FALSE(stereo_swapping_enabled);
2815 EXPECT_TRUE(typing_detection_enabled); 2819 EXPECT_TRUE(typing_detection_enabled);
2816 EXPECT_EQ(ec_mode, webrtc::kEcConference); 2820 EXPECT_EQ(ec_mode, webrtc::kEcConference);
2817 EXPECT_EQ(ns_mode, webrtc::kNsHighSuppression); 2821 EXPECT_EQ(ns_mode, webrtc::kNsHighSuppression);
2818 EXPECT_EQ(50, voe_.GetNetEqCapacity()); 2822 EXPECT_EQ(50, voe_.GetNetEqCapacity());
2819 EXPECT_FALSE(voe_.GetNetEqFastAccelerate()); 2823 EXPECT_FALSE(voe_.GetNetEqFastAccelerate());
2820 2824
2821 // Nothing set in AudioOptions, so everything should be as default. 2825 // Nothing set in AudioOptions, so everything should be as default.
2822 send_parameters_.options = cricket::AudioOptions(); 2826 send_parameters_.options = cricket::AudioOptions();
2823 SetSendParameters(send_parameters_); 2827 SetSendParameters(send_parameters_);
2824 voe_.GetEcStatus(ec_enabled, ec_mode); 2828 voe_.GetEcStatus(ec_enabled, ec_mode);
2825 voe_.GetAecmMode(aecm_mode, cng_enabled); 2829 voe_.GetAecmMode(aecm_mode, cng_enabled);
2826 voe_.GetAgcStatus(agc_enabled, agc_mode); 2830 voe_.GetAgcStatus(agc_enabled, agc_mode);
2827 voe_.GetAgcConfig(agc_config); 2831 voe_.GetAgcConfig(agc_config);
2828 voe_.GetNsStatus(ns_enabled, ns_mode); 2832 voe_.GetNsStatus(ns_enabled, ns_mode);
2829 highpass_filter_enabled = voe_.IsHighPassFilterEnabled(); 2833 highpass_filter_enabled = IsHighPassFilterEnabled();
2830 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled(); 2834 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled();
2831 voe_.GetTypingDetectionStatus(typing_detection_enabled); 2835 voe_.GetTypingDetectionStatus(typing_detection_enabled);
2832 EXPECT_TRUE(ec_enabled); 2836 EXPECT_TRUE(ec_enabled);
2833 EXPECT_TRUE(voe_.ec_metrics_enabled()); 2837 EXPECT_TRUE(voe_.ec_metrics_enabled());
2834 EXPECT_FALSE(cng_enabled); 2838 EXPECT_FALSE(cng_enabled);
2835 EXPECT_TRUE(agc_enabled); 2839 EXPECT_TRUE(agc_enabled);
2836 EXPECT_EQ(0, agc_config.targetLeveldBOv); 2840 EXPECT_EQ(0, agc_config.targetLeveldBOv);
2837 EXPECT_TRUE(ns_enabled); 2841 EXPECT_TRUE(ns_enabled);
2838 EXPECT_TRUE(highpass_filter_enabled); 2842 EXPECT_TRUE(highpass_filter_enabled);
2839 EXPECT_FALSE(stereo_swapping_enabled); 2843 EXPECT_FALSE(stereo_swapping_enabled);
(...skipping 11 matching lines...) Expand all
2851 2855
2852 // Turn echo cancellation back on, with settings, and make sure 2856 // Turn echo cancellation back on, with settings, and make sure
2853 // nothing else changed. 2857 // nothing else changed.
2854 send_parameters_.options.echo_cancellation = rtc::Optional<bool>(true); 2858 send_parameters_.options.echo_cancellation = rtc::Optional<bool>(true);
2855 SetSendParameters(send_parameters_); 2859 SetSendParameters(send_parameters_);
2856 voe_.GetEcStatus(ec_enabled, ec_mode); 2860 voe_.GetEcStatus(ec_enabled, ec_mode);
2857 voe_.GetAecmMode(aecm_mode, cng_enabled); 2861 voe_.GetAecmMode(aecm_mode, cng_enabled);
2858 voe_.GetAgcStatus(agc_enabled, agc_mode); 2862 voe_.GetAgcStatus(agc_enabled, agc_mode);
2859 voe_.GetAgcConfig(agc_config); 2863 voe_.GetAgcConfig(agc_config);
2860 voe_.GetNsStatus(ns_enabled, ns_mode); 2864 voe_.GetNsStatus(ns_enabled, ns_mode);
2861 highpass_filter_enabled = voe_.IsHighPassFilterEnabled(); 2865 highpass_filter_enabled = IsHighPassFilterEnabled();
2862 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled(); 2866 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled();
2863 voe_.GetTypingDetectionStatus(typing_detection_enabled); 2867 voe_.GetTypingDetectionStatus(typing_detection_enabled);
2864 EXPECT_TRUE(ec_enabled); 2868 EXPECT_TRUE(ec_enabled);
2865 EXPECT_TRUE(voe_.ec_metrics_enabled()); 2869 EXPECT_TRUE(voe_.ec_metrics_enabled());
2866 EXPECT_TRUE(agc_enabled); 2870 EXPECT_TRUE(agc_enabled);
2867 EXPECT_EQ(0, agc_config.targetLeveldBOv); 2871 EXPECT_EQ(0, agc_config.targetLeveldBOv);
2868 EXPECT_TRUE(ns_enabled); 2872 EXPECT_TRUE(ns_enabled);
2869 EXPECT_TRUE(highpass_filter_enabled); 2873 EXPECT_TRUE(highpass_filter_enabled);
2870 EXPECT_FALSE(stereo_swapping_enabled); 2874 EXPECT_FALSE(stereo_swapping_enabled);
2871 EXPECT_TRUE(typing_detection_enabled); 2875 EXPECT_TRUE(typing_detection_enabled);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
2912 voe_.GetAgcConfig(agc_config); 2916 voe_.GetAgcConfig(agc_config);
2913 EXPECT_EQ(0, agc_config.targetLeveldBOv); 2917 EXPECT_EQ(0, agc_config.targetLeveldBOv);
2914 2918
2915 // Turn off other options (and stereo swapping on). 2919 // Turn off other options (and stereo swapping on).
2916 send_parameters_.options.noise_suppression = rtc::Optional<bool>(false); 2920 send_parameters_.options.noise_suppression = rtc::Optional<bool>(false);
2917 send_parameters_.options.highpass_filter = rtc::Optional<bool>(false); 2921 send_parameters_.options.highpass_filter = rtc::Optional<bool>(false);
2918 send_parameters_.options.typing_detection = rtc::Optional<bool>(false); 2922 send_parameters_.options.typing_detection = rtc::Optional<bool>(false);
2919 send_parameters_.options.stereo_swapping = rtc::Optional<bool>(true); 2923 send_parameters_.options.stereo_swapping = rtc::Optional<bool>(true);
2920 SetSendParameters(send_parameters_); 2924 SetSendParameters(send_parameters_);
2921 voe_.GetNsStatus(ns_enabled, ns_mode); 2925 voe_.GetNsStatus(ns_enabled, ns_mode);
2922 highpass_filter_enabled = voe_.IsHighPassFilterEnabled(); 2926 highpass_filter_enabled = IsHighPassFilterEnabled();
2923 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled(); 2927 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled();
2924 voe_.GetTypingDetectionStatus(typing_detection_enabled); 2928 voe_.GetTypingDetectionStatus(typing_detection_enabled);
2925 EXPECT_FALSE(ns_enabled); 2929 EXPECT_FALSE(ns_enabled);
2926 EXPECT_FALSE(highpass_filter_enabled); 2930 EXPECT_FALSE(highpass_filter_enabled);
2927 EXPECT_FALSE(typing_detection_enabled); 2931 EXPECT_FALSE(typing_detection_enabled);
2928 EXPECT_TRUE(stereo_swapping_enabled); 2932 EXPECT_TRUE(stereo_swapping_enabled);
2929 2933
2930 // Set options again to ensure it has no impact. 2934 // Set options again to ensure it has no impact.
2931 SetSendParameters(send_parameters_); 2935 SetSendParameters(send_parameters_);
2932 voe_.GetEcStatus(ec_enabled, ec_mode); 2936 voe_.GetEcStatus(ec_enabled, ec_mode);
(...skipping 13 matching lines...) Expand all
2946 webrtc::AgcModes agc_mode; 2950 webrtc::AgcModes agc_mode;
2947 bool ns_enabled; 2951 bool ns_enabled;
2948 webrtc::NsModes ns_mode; 2952 webrtc::NsModes ns_mode;
2949 bool highpass_filter_enabled; 2953 bool highpass_filter_enabled;
2950 bool stereo_swapping_enabled; 2954 bool stereo_swapping_enabled;
2951 bool typing_detection_enabled; 2955 bool typing_detection_enabled;
2952 2956
2953 voe_.GetEcStatus(ec_enabled, ec_mode); 2957 voe_.GetEcStatus(ec_enabled, ec_mode);
2954 voe_.GetAgcStatus(agc_enabled, agc_mode); 2958 voe_.GetAgcStatus(agc_enabled, agc_mode);
2955 voe_.GetNsStatus(ns_enabled, ns_mode); 2959 voe_.GetNsStatus(ns_enabled, ns_mode);
2956 highpass_filter_enabled = voe_.IsHighPassFilterEnabled(); 2960 highpass_filter_enabled = IsHighPassFilterEnabled();
2957 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled(); 2961 stereo_swapping_enabled = voe_.IsStereoChannelSwappingEnabled();
2958 voe_.GetTypingDetectionStatus(typing_detection_enabled); 2962 voe_.GetTypingDetectionStatus(typing_detection_enabled);
2959 EXPECT_TRUE(ec_enabled); 2963 EXPECT_TRUE(ec_enabled);
2960 EXPECT_TRUE(agc_enabled); 2964 EXPECT_TRUE(agc_enabled);
2961 EXPECT_TRUE(ns_enabled); 2965 EXPECT_TRUE(ns_enabled);
2962 EXPECT_TRUE(highpass_filter_enabled); 2966 EXPECT_TRUE(highpass_filter_enabled);
2963 EXPECT_TRUE(typing_detection_enabled); 2967 EXPECT_TRUE(typing_detection_enabled);
2964 EXPECT_FALSE(stereo_swapping_enabled); 2968 EXPECT_FALSE(stereo_swapping_enabled);
2965 } 2969 }
2966 2970
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after
3555 nullptr, webrtc::CreateBuiltinAudioDecoderFactory()); 3559 nullptr, webrtc::CreateBuiltinAudioDecoderFactory());
3556 webrtc::RtcEventLogNullImpl event_log; 3560 webrtc::RtcEventLogNullImpl event_log;
3557 std::unique_ptr<webrtc::Call> call( 3561 std::unique_ptr<webrtc::Call> call(
3558 webrtc::Call::Create(webrtc::Call::Config(&event_log))); 3562 webrtc::Call::Create(webrtc::Call::Config(&event_log)));
3559 cricket::WebRtcVoiceMediaChannel channel(&engine, cricket::MediaConfig(), 3563 cricket::WebRtcVoiceMediaChannel channel(&engine, cricket::MediaConfig(),
3560 cricket::AudioOptions(), call.get()); 3564 cricket::AudioOptions(), call.get());
3561 cricket::AudioRecvParameters parameters; 3565 cricket::AudioRecvParameters parameters;
3562 parameters.codecs = engine.recv_codecs(); 3566 parameters.codecs = engine.recv_codecs();
3563 EXPECT_TRUE(channel.SetRecvParameters(parameters)); 3567 EXPECT_TRUE(channel.SetRecvParameters(parameters));
3564 } 3568 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698