Add PlayoutVolumeChange RuntimeSetting.
Add a PlayoutVolumeChange RuntimeSetting. Trigger an echo path change when the playout volume is changed. Bug: webrtc:10608 Change-Id: I1e736b93c1865d08c7d2582f6fe00216c1e1f72e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/135746 Reviewed-by: Per Åhgren <peah@webrtc.org> Reviewed-by: Fredrik Hernqvist <fhernqvist@webrtc.org> Commit-Queue: Fredrik Hernqvist <fhernqvist@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27913}
This commit is contained in:
committed by
Commit Bot
parent
eb9bf411f3
commit
ca362855e1
@ -853,6 +853,7 @@ void AudioProcessingImpl::SetRuntimeSetting(RuntimeSetting setting) {
|
||||
case RuntimeSetting::Type::kCapturePreGain:
|
||||
case RuntimeSetting::Type::kCaptureCompressionGain:
|
||||
case RuntimeSetting::Type::kCaptureFixedPostGain:
|
||||
case RuntimeSetting::Type::kPlayoutVolumeChange:
|
||||
capture_runtime_settings_enqueuer_.Enqueue(setting);
|
||||
return;
|
||||
}
|
||||
@ -998,6 +999,12 @@ void AudioProcessingImpl::HandleCaptureRuntimeSettings() {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case RuntimeSetting::Type::kPlayoutVolumeChange: {
|
||||
int value;
|
||||
setting.GetInt(&value);
|
||||
capture_.playout_volume = value;
|
||||
break;
|
||||
}
|
||||
case RuntimeSetting::Type::kCustomRenderProcessingRuntimeSetting:
|
||||
RTC_NOTREACHED();
|
||||
break;
|
||||
@ -1023,6 +1030,7 @@ void AudioProcessingImpl::HandleRenderRuntimeSettings() {
|
||||
case RuntimeSetting::Type::kCapturePreGain: // fall-through
|
||||
case RuntimeSetting::Type::kCaptureCompressionGain: // fall-through
|
||||
case RuntimeSetting::Type::kCaptureFixedPostGain: // fall-through
|
||||
case RuntimeSetting::Type::kPlayoutVolumeChange: // fall-through
|
||||
case RuntimeSetting::Type::kNotSpecified:
|
||||
RTC_NOTREACHED();
|
||||
break;
|
||||
@ -1291,6 +1299,14 @@ int AudioProcessingImpl::ProcessCaptureStreamLocked() {
|
||||
capture_.prev_pre_amp_gain >= 0.f);
|
||||
capture_.prev_pre_amp_gain = pre_amp_gain;
|
||||
}
|
||||
|
||||
// Detect volume change.
|
||||
capture_.echo_path_gain_change =
|
||||
capture_.echo_path_gain_change ||
|
||||
(capture_.prev_playout_volume != capture_.playout_volume &&
|
||||
capture_.prev_playout_volume >= 0);
|
||||
capture_.prev_playout_volume = capture_.playout_volume;
|
||||
|
||||
private_submodules_->echo_controller->AnalyzeCapture(capture_buffer);
|
||||
}
|
||||
|
||||
@ -2087,7 +2103,9 @@ AudioProcessingImpl::ApmCaptureState::ApmCaptureState(
|
||||
split_rate(kSampleRate16kHz),
|
||||
echo_path_gain_change(false),
|
||||
prev_analog_mic_level(-1),
|
||||
prev_pre_amp_gain(-1.f) {}
|
||||
prev_pre_amp_gain(-1.f),
|
||||
playout_volume(-1),
|
||||
prev_playout_volume(-1) {}
|
||||
|
||||
AudioProcessingImpl::ApmCaptureState::~ApmCaptureState() = default;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user