diff --git a/api/audio_options.cc b/api/audio_options.cc index aca1fe80db..fad35cb881 100644 --- a/api/audio_options.cc +++ b/api/audio_options.cc @@ -55,13 +55,7 @@ void AudioOptions::SetAll(const AudioOptions& change) { SetFrom(&audio_jitter_buffer_enable_rtx_handling, change.audio_jitter_buffer_enable_rtx_handling); SetFrom(&typing_detection, change.typing_detection); - SetFrom(&experimental_agc, change.experimental_agc); - SetFrom(&experimental_ns, change.experimental_ns); SetFrom(&residual_echo_detector, change.residual_echo_detector); - SetFrom(&tx_agc_target_dbov, change.tx_agc_target_dbov); - SetFrom(&tx_agc_digital_compression_gain, - change.tx_agc_digital_compression_gain); - SetFrom(&tx_agc_limiter, change.tx_agc_limiter); SetFrom(&combined_audio_video_bwe, change.combined_audio_video_bwe); SetFrom(&audio_network_adaptor, change.audio_network_adaptor); SetFrom(&audio_network_adaptor_config, change.audio_network_adaptor_config); @@ -85,12 +79,7 @@ bool AudioOptions::operator==(const AudioOptions& o) const { audio_jitter_buffer_enable_rtx_handling == o.audio_jitter_buffer_enable_rtx_handling && typing_detection == o.typing_detection && - experimental_agc == o.experimental_agc && - experimental_ns == o.experimental_ns && residual_echo_detector == o.residual_echo_detector && - tx_agc_target_dbov == o.tx_agc_target_dbov && - tx_agc_digital_compression_gain == o.tx_agc_digital_compression_gain && - tx_agc_limiter == o.tx_agc_limiter && combined_audio_video_bwe == o.combined_audio_video_bwe && audio_network_adaptor == o.audio_network_adaptor && audio_network_adaptor_config == o.audio_network_adaptor_config && @@ -119,13 +108,7 @@ std::string AudioOptions::ToString() const { ToStringIfSet(&result, "audio_jitter_buffer_enable_rtx_handling", audio_jitter_buffer_enable_rtx_handling); ToStringIfSet(&result, "typing", typing_detection); - ToStringIfSet(&result, "experimental_agc", experimental_agc); - ToStringIfSet(&result, "experimental_ns", experimental_ns); ToStringIfSet(&result, "residual_echo_detector", residual_echo_detector); - ToStringIfSet(&result, "tx_agc_target_dbov", tx_agc_target_dbov); - ToStringIfSet(&result, "tx_agc_digital_compression_gain", - tx_agc_digital_compression_gain); - ToStringIfSet(&result, "tx_agc_limiter", tx_agc_limiter); ToStringIfSet(&result, "combined_audio_video_bwe", combined_audio_video_bwe); ToStringIfSet(&result, "audio_network_adaptor", audio_network_adaptor); ToStringIfSet(&result, "init_recording_on_send", init_recording_on_send); diff --git a/api/audio_options.h b/api/audio_options.h index 16aa9e450d..3fcc38d83f 100644 --- a/api/audio_options.h +++ b/api/audio_options.h @@ -64,16 +64,10 @@ struct RTC_EXPORT AudioOptions { // TODO(bugs.webrtc.org/11226): Remove. // Audio processing to detect typing. absl::optional typing_detection; - absl::optional experimental_agc; - absl::optional experimental_ns; // TODO(bugs.webrtc.org/11539): Deprecated, replaced by // webrtc::CreateEchoDetector() and injection when creating the audio // processing module. absl::optional residual_echo_detector; - // Note that tx_agc_* only applies to non-experimental AGC. - absl::optional tx_agc_target_dbov; - absl::optional tx_agc_digital_compression_gain; - absl::optional tx_agc_limiter; // Enable combined audio+bandwidth BWE. // TODO(pthatcher): This flag is set from the // "googCombinedAudioVideoBwe", but not used anywhere. So delete it, diff --git a/media/engine/webrtc_voice_engine.cc b/media/engine/webrtc_voice_engine.cc index b7b0ad78d6..829cb82af1 100644 --- a/media/engine/webrtc_voice_engine.cc +++ b/media/engine/webrtc_voice_engine.cc @@ -404,14 +404,12 @@ void WebRtcVoiceEngine::Init() { options.noise_suppression = true; options.typing_detection = true; #endif - options.experimental_ns = false; options.highpass_filter = true; options.stereo_swapping = false; options.audio_jitter_buffer_max_packets = 200; options.audio_jitter_buffer_fast_accelerate = false; options.audio_jitter_buffer_min_delay_ms = 0; options.audio_jitter_buffer_enable_rtx_handling = false; - options.experimental_agc = false; bool error = ApplyOptions(options); RTC_DCHECK(error); } @@ -464,17 +462,14 @@ bool WebRtcVoiceEngine::ApplyOptions(const AudioOptions& options_in) { // Override noise suppression options for Android. #if defined(WEBRTC_ANDROID) options.typing_detection = false; - options.experimental_ns = false; #endif // Set and adjust gain control options. #if defined(WEBRTC_IOS) // On iOS, VPIO provides built-in AGC. options.auto_gain_control = false; - options.experimental_agc = false; RTC_LOG(LS_INFO) << "Always disable AGC on iOS. Use built-in instead."; #elif defined(WEBRTC_ANDROID) - options.experimental_agc = false; #endif #if defined(WEBRTC_IOS) || defined(WEBRTC_ANDROID) @@ -582,18 +577,8 @@ bool WebRtcVoiceEngine::ApplyOptions(const AudioOptions& options_in) { return true; } - if (options.experimental_ns) { - experimental_ns_ = options.experimental_ns; - } - webrtc::AudioProcessing::Config apm_config = ap->GetConfig(); -#if !(defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS)) - if (experimental_ns_.has_value()) { - apm_config.transient_suppression.enabled = experimental_ns_.value(); - } -#endif - if (options.echo_cancellation) { apm_config.echo_canceller.enabled = *options.echo_cancellation; apm_config.echo_canceller.mobile_mode = use_mobile_software_aec; @@ -610,16 +595,6 @@ bool WebRtcVoiceEngine::ApplyOptions(const AudioOptions& options_in) { apm_config.gain_controller1.kAdaptiveAnalog; #endif } - if (options.tx_agc_target_dbov) { - apm_config.gain_controller1.target_level_dbfs = *options.tx_agc_target_dbov; - } - if (options.tx_agc_digital_compression_gain) { - apm_config.gain_controller1.compression_gain_db = - *options.tx_agc_digital_compression_gain; - } - if (options.tx_agc_limiter) { - apm_config.gain_controller1.enable_limiter = *options.tx_agc_limiter; - } if (options.highpass_filter) { apm_config.high_pass_filter.enabled = *options.highpass_filter; diff --git a/media/engine/webrtc_voice_engine.h b/media/engine/webrtc_voice_engine.h index 846d59d7f5..1061d7a129 100644 --- a/media/engine/webrtc_voice_engine.h +++ b/media/engine/webrtc_voice_engine.h @@ -124,9 +124,6 @@ class WebRtcVoiceEngine final : public VoiceEngineInterface { bool is_dumping_aec_ = false; bool initialized_ = false; - // Cache experimental_ns and apply in case they are missing in the audio - // options. - absl::optional experimental_ns_; // Jitter buffer settings for new streams. size_t audio_jitter_buffer_max_packets_ = 200; bool audio_jitter_buffer_fast_accelerate_ = false; diff --git a/media/engine/webrtc_voice_engine_unittest.cc b/media/engine/webrtc_voice_engine_unittest.cc index 40d5714253..ad15a638bb 100644 --- a/media/engine/webrtc_voice_engine_unittest.cc +++ b/media/engine/webrtc_voice_engine_unittest.cc @@ -2474,58 +2474,6 @@ TEST_P(WebRtcVoiceEngineTestFake, PlayoutWithMultipleStreams) { EXPECT_TRUE(channel_->RemoveRecvStream(kSsrcY)); } -TEST_P(WebRtcVoiceEngineTestFake, TxAgcConfigViaOptions) { - EXPECT_TRUE(SetupSendStream()); - EXPECT_CALL(*adm_, BuiltInAGCIsAvailable()) - .Times(::testing::AtLeast(1)) - .WillRepeatedly(Return(false)); - - if (!use_null_apm_) { - // Ensure default options. - VerifyGainControlEnabledCorrectly(); - VerifyGainControlDefaultSettings(); - } - - const auto& agc_config = apm_config_.gain_controller1; - - send_parameters_.options.auto_gain_control = false; - SetSendParameters(send_parameters_); - if (!use_null_apm_) { - EXPECT_FALSE(agc_config.enabled); - } - send_parameters_.options.auto_gain_control = absl::nullopt; - - send_parameters_.options.tx_agc_target_dbov = 5; - SetSendParameters(send_parameters_); - if (!use_null_apm_) { - EXPECT_EQ(5, agc_config.target_level_dbfs); - } - send_parameters_.options.tx_agc_target_dbov = absl::nullopt; - - send_parameters_.options.tx_agc_digital_compression_gain = 10; - SetSendParameters(send_parameters_); - if (!use_null_apm_) { - EXPECT_EQ(10, agc_config.compression_gain_db); - } - send_parameters_.options.tx_agc_digital_compression_gain = absl::nullopt; - - send_parameters_.options.tx_agc_limiter = false; - SetSendParameters(send_parameters_); - if (!use_null_apm_) { - EXPECT_FALSE(agc_config.enable_limiter); - } - send_parameters_.options.tx_agc_limiter = absl::nullopt; - - SetSendParameters(send_parameters_); - if (!use_null_apm_) { - // Expect all options to have been preserved. - EXPECT_FALSE(agc_config.enabled); - EXPECT_EQ(5, agc_config.target_level_dbfs); - EXPECT_EQ(10, agc_config.compression_gain_db); - EXPECT_FALSE(agc_config.enable_limiter); - } -} - TEST_P(WebRtcVoiceEngineTestFake, SetAudioNetworkAdaptorViaOptions) { EXPECT_TRUE(SetupSendStream()); send_parameters_.options.audio_network_adaptor = true; diff --git a/sdk/media_constraints.cc b/sdk/media_constraints.cc index 3cc08b2799..c77bf88929 100644 --- a/sdk/media_constraints.cc +++ b/sdk/media_constraints.cc @@ -95,14 +95,8 @@ const char MediaConstraints::kValueFalse[] = "false"; // Audio constraints. const char MediaConstraints::kGoogEchoCancellation[] = "googEchoCancellation"; const char MediaConstraints::kAutoGainControl[] = "googAutoGainControl"; -const char MediaConstraints::kExperimentalAutoGainControl[] = - "googAutoGainControl2"; const char MediaConstraints::kNoiseSuppression[] = "googNoiseSuppression"; -const char MediaConstraints::kExperimentalNoiseSuppression[] = - "googNoiseSuppression2"; const char MediaConstraints::kHighpassFilter[] = "googHighpassFilter"; -const char MediaConstraints::kTypingNoiseDetection[] = - "googTypingNoiseDetection"; const char MediaConstraints::kAudioMirroring[] = "googAudioMirroring"; const char MediaConstraints::kAudioNetworkAdaptorConfig[] = "googAudioNetworkAdaptorConfig"; @@ -190,19 +184,10 @@ void CopyConstraintsIntoAudioOptions(const MediaConstraints* constraints, &options->echo_cancellation); ConstraintToOptional(constraints, MediaConstraints::kAutoGainControl, &options->auto_gain_control); - ConstraintToOptional(constraints, - MediaConstraints::kExperimentalAutoGainControl, - &options->experimental_agc); ConstraintToOptional(constraints, MediaConstraints::kNoiseSuppression, &options->noise_suppression); - ConstraintToOptional(constraints, - MediaConstraints::kExperimentalNoiseSuppression, - &options->experimental_ns); ConstraintToOptional(constraints, MediaConstraints::kHighpassFilter, &options->highpass_filter); - ConstraintToOptional(constraints, - MediaConstraints::kTypingNoiseDetection, - &options->typing_detection); ConstraintToOptional(constraints, MediaConstraints::kAudioMirroring, &options->stereo_swapping); ConstraintToOptional( diff --git a/sdk/media_constraints.h b/sdk/media_constraints.h index f41ad25e65..c946e4fab1 100644 --- a/sdk/media_constraints.h +++ b/sdk/media_constraints.h @@ -59,12 +59,9 @@ class MediaConstraints { // These keys are google specific. static const char kGoogEchoCancellation[]; // googEchoCancellation - static const char kAutoGainControl[]; // googAutoGainControl - static const char kExperimentalAutoGainControl[]; // googAutoGainControl2 - static const char kNoiseSuppression[]; // googNoiseSuppression - static const char kExperimentalNoiseSuppression[]; // googNoiseSuppression2 - static const char kHighpassFilter[]; // googHighpassFilter - static const char kTypingNoiseDetection[]; // googTypingNoiseDetection + static const char kAutoGainControl[]; // googAutoGainControl + static const char kNoiseSuppression[]; // googNoiseSuppression + static const char kHighpassFilter[]; // googHighpassFilter static const char kAudioMirroring[]; // googAudioMirroring static const char kAudioNetworkAdaptorConfig[]; // googAudioNetworkAdaptorConfig