Allow extracting the linear AEC output
This CL enables extracting the linear AEC output, allowing for more straightforward testing/development. Bug: b/140823178 Change-Id: I14f7934008d87066b35500466cb6e6d96f811688 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/153672 Commit-Queue: Per Åhgren <peah@webrtc.org> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org> Cr-Commit-Position: refs/heads/master@{#29789}
This commit is contained in:
@ -40,6 +40,7 @@ ABSL_FLAG(std::string,
|
||||
artificial_nearend,
|
||||
"",
|
||||
"Artificial nearend wav filename");
|
||||
ABSL_FLAG(std::string, linear_aec_output, "", "Linear AEC output wav filename");
|
||||
ABSL_FLAG(int,
|
||||
output_num_channels,
|
||||
kParameterNotSpecifiedValue,
|
||||
@ -364,6 +365,8 @@ SimulationSettings CreateSettings() {
|
||||
&settings.reverse_output_filename);
|
||||
SetSettingIfSpecified(absl::GetFlag(FLAGS_artificial_nearend),
|
||||
&settings.artificial_nearend_filename);
|
||||
SetSettingIfSpecified(absl::GetFlag(FLAGS_linear_aec_output),
|
||||
&settings.linear_aec_output_filename);
|
||||
SetSettingIfSpecified(absl::GetFlag(FLAGS_output_num_channels),
|
||||
&settings.output_num_channels);
|
||||
SetSettingIfSpecified(absl::GetFlag(FLAGS_reverse_output_num_channels),
|
||||
@ -508,6 +511,19 @@ void PerformBasicParameterSanityChecks(const SimulationSettings& settings) {
|
||||
"aec dump input string!\n");
|
||||
}
|
||||
|
||||
ReportConditionalErrorAndExit(settings.use_aec && !(*settings.use_aec) &&
|
||||
settings.linear_aec_output_filename,
|
||||
"Error: The linear AEC ouput filename cannot "
|
||||
"be specified without the AEC being active");
|
||||
|
||||
ReportConditionalErrorAndExit(
|
||||
((settings.use_aec && *settings.use_aec && settings.use_legacy_aec &&
|
||||
*settings.use_legacy_aec) ||
|
||||
(settings.use_aecm && *settings.use_aecm)) &&
|
||||
!!settings.linear_aec_output_filename,
|
||||
"Error: The linear AEC ouput filename cannot be specified when the "
|
||||
"legacy AEC or the AECm are used");
|
||||
|
||||
ReportConditionalErrorAndExit(
|
||||
settings.use_aec && *settings.use_aec && settings.use_aecm &&
|
||||
*settings.use_aecm,
|
||||
@ -617,6 +633,11 @@ void PerformBasicParameterSanityChecks(const SimulationSettings& settings) {
|
||||
!valid_wav_name(*settings.artificial_nearend_filename),
|
||||
"Error: --artifical_nearend must be a valid .wav file name.\n");
|
||||
|
||||
ReportConditionalErrorAndExit(
|
||||
settings.linear_aec_output_filename &&
|
||||
(!valid_wav_name(*settings.linear_aec_output_filename)),
|
||||
"Error: --linear_aec_output must be a valid .wav file name.\n");
|
||||
|
||||
ReportConditionalErrorAndExit(
|
||||
WEBRTC_APM_DEBUG_DUMP == 0 && settings.dump_internal_data,
|
||||
"Error: --dump_data cannot be set without proper build support.\n");
|
||||
|
Reference in New Issue
Block a user