xref: /aosp_15_r20/external/webrtc/modules/audio_processing/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2*d9f75844SAndroid Build Coastguard Worker#
3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Workerimport("../../webrtc.gni")
10*d9f75844SAndroid Build Coastguard Workerif (rtc_enable_protobuf) {
11*d9f75844SAndroid Build Coastguard Worker  import("//third_party/protobuf/proto_library.gni")
12*d9f75844SAndroid Build Coastguard Worker}
13*d9f75844SAndroid Build Coastguard Worker
14*d9f75844SAndroid Build Coastguard Workerconfig("apm_debug_dump") {
15*d9f75844SAndroid Build Coastguard Worker  if (apm_debug_dump) {
16*d9f75844SAndroid Build Coastguard Worker    defines = [ "WEBRTC_APM_DEBUG_DUMP=1" ]
17*d9f75844SAndroid Build Coastguard Worker  } else {
18*d9f75844SAndroid Build Coastguard Worker    defines = [ "WEBRTC_APM_DEBUG_DUMP=0" ]
19*d9f75844SAndroid Build Coastguard Worker  }
20*d9f75844SAndroid Build Coastguard Worker}
21*d9f75844SAndroid Build Coastguard Worker
22*d9f75844SAndroid Build Coastguard Workerrtc_library("api") {
23*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
24*d9f75844SAndroid Build Coastguard Worker  sources = [
25*d9f75844SAndroid Build Coastguard Worker    "include/audio_processing.cc",
26*d9f75844SAndroid Build Coastguard Worker    "include/audio_processing.h",
27*d9f75844SAndroid Build Coastguard Worker  ]
28*d9f75844SAndroid Build Coastguard Worker  deps = [
29*d9f75844SAndroid Build Coastguard Worker    ":audio_frame_view",
30*d9f75844SAndroid Build Coastguard Worker    ":audio_processing_statistics",
31*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
32*d9f75844SAndroid Build Coastguard Worker    "../../api:scoped_refptr",
33*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:aec3_config",
34*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:audio_frame_api",
35*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:echo_control",
36*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
37*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:refcount",
38*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:stringutils",
39*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:arch",
40*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:file_wrapper",
41*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:rtc_export",
42*d9f75844SAndroid Build Coastguard Worker    "agc:gain_control_interface",
43*d9f75844SAndroid Build Coastguard Worker  ]
44*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
45*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
46*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
47*d9f75844SAndroid Build Coastguard Worker  ]
48*d9f75844SAndroid Build Coastguard Worker}
49*d9f75844SAndroid Build Coastguard Worker
50*d9f75844SAndroid Build Coastguard Workerrtc_library("audio_frame_proxies") {
51*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
52*d9f75844SAndroid Build Coastguard Worker  sources = [
53*d9f75844SAndroid Build Coastguard Worker    "include/audio_frame_proxies.cc",
54*d9f75844SAndroid Build Coastguard Worker    "include/audio_frame_proxies.h",
55*d9f75844SAndroid Build Coastguard Worker  ]
56*d9f75844SAndroid Build Coastguard Worker  deps = [
57*d9f75844SAndroid Build Coastguard Worker    ":api",
58*d9f75844SAndroid Build Coastguard Worker    ":audio_frame_view",
59*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:audio_frame_api",
60*d9f75844SAndroid Build Coastguard Worker  ]
61*d9f75844SAndroid Build Coastguard Worker}
62*d9f75844SAndroid Build Coastguard Worker
63*d9f75844SAndroid Build Coastguard Workerrtc_library("audio_buffer") {
64*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
65*d9f75844SAndroid Build Coastguard Worker
66*d9f75844SAndroid Build Coastguard Worker  configs += [ ":apm_debug_dump" ]
67*d9f75844SAndroid Build Coastguard Worker
68*d9f75844SAndroid Build Coastguard Worker  sources = [
69*d9f75844SAndroid Build Coastguard Worker    "audio_buffer.cc",
70*d9f75844SAndroid Build Coastguard Worker    "audio_buffer.h",
71*d9f75844SAndroid Build Coastguard Worker    "splitting_filter.cc",
72*d9f75844SAndroid Build Coastguard Worker    "splitting_filter.h",
73*d9f75844SAndroid Build Coastguard Worker    "three_band_filter_bank.cc",
74*d9f75844SAndroid Build Coastguard Worker    "three_band_filter_bank.h",
75*d9f75844SAndroid Build Coastguard Worker  ]
76*d9f75844SAndroid Build Coastguard Worker
77*d9f75844SAndroid Build Coastguard Worker  defines = []
78*d9f75844SAndroid Build Coastguard Worker
79*d9f75844SAndroid Build Coastguard Worker  deps = [
80*d9f75844SAndroid Build Coastguard Worker    ":api",
81*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
82*d9f75844SAndroid Build Coastguard Worker    "../../common_audio",
83*d9f75844SAndroid Build Coastguard Worker    "../../common_audio:common_audio_c",
84*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
85*d9f75844SAndroid Build Coastguard Worker  ]
86*d9f75844SAndroid Build Coastguard Worker}
87*d9f75844SAndroid Build Coastguard Worker
88*d9f75844SAndroid Build Coastguard Workerrtc_library("high_pass_filter") {
89*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
90*d9f75844SAndroid Build Coastguard Worker
91*d9f75844SAndroid Build Coastguard Worker  sources = [
92*d9f75844SAndroid Build Coastguard Worker    "high_pass_filter.cc",
93*d9f75844SAndroid Build Coastguard Worker    "high_pass_filter.h",
94*d9f75844SAndroid Build Coastguard Worker  ]
95*d9f75844SAndroid Build Coastguard Worker
96*d9f75844SAndroid Build Coastguard Worker  defines = []
97*d9f75844SAndroid Build Coastguard Worker
98*d9f75844SAndroid Build Coastguard Worker  deps = [
99*d9f75844SAndroid Build Coastguard Worker    ":audio_buffer",
100*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
101*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
102*d9f75844SAndroid Build Coastguard Worker    "utility:cascaded_biquad_filter",
103*d9f75844SAndroid Build Coastguard Worker  ]
104*d9f75844SAndroid Build Coastguard Worker}
105*d9f75844SAndroid Build Coastguard Worker
106*d9f75844SAndroid Build Coastguard Workerrtc_source_set("aec_dump_interface") {
107*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
108*d9f75844SAndroid Build Coastguard Worker  sources = [
109*d9f75844SAndroid Build Coastguard Worker    "include/aec_dump.cc",
110*d9f75844SAndroid Build Coastguard Worker    "include/aec_dump.h",
111*d9f75844SAndroid Build Coastguard Worker  ]
112*d9f75844SAndroid Build Coastguard Worker
113*d9f75844SAndroid Build Coastguard Worker  deps = [
114*d9f75844SAndroid Build Coastguard Worker    ":api",
115*d9f75844SAndroid Build Coastguard Worker    ":audio_frame_view",
116*d9f75844SAndroid Build Coastguard Worker  ]
117*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
118*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
119*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
120*d9f75844SAndroid Build Coastguard Worker  ]
121*d9f75844SAndroid Build Coastguard Worker}
122*d9f75844SAndroid Build Coastguard Worker
123*d9f75844SAndroid Build Coastguard Workerrtc_library("gain_controller2") {
124*d9f75844SAndroid Build Coastguard Worker  configs += [ ":apm_debug_dump" ]
125*d9f75844SAndroid Build Coastguard Worker  sources = [
126*d9f75844SAndroid Build Coastguard Worker    "gain_controller2.cc",
127*d9f75844SAndroid Build Coastguard Worker    "gain_controller2.h",
128*d9f75844SAndroid Build Coastguard Worker  ]
129*d9f75844SAndroid Build Coastguard Worker  defines = []
130*d9f75844SAndroid Build Coastguard Worker  deps = [
131*d9f75844SAndroid Build Coastguard Worker    ":aec_dump_interface",
132*d9f75844SAndroid Build Coastguard Worker    ":api",
133*d9f75844SAndroid Build Coastguard Worker    ":apm_logging",
134*d9f75844SAndroid Build Coastguard Worker    ":audio_buffer",
135*d9f75844SAndroid Build Coastguard Worker    ":audio_frame_view",
136*d9f75844SAndroid Build Coastguard Worker    "../../common_audio",
137*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
138*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
139*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:stringutils",
140*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:field_trial",
141*d9f75844SAndroid Build Coastguard Worker    "agc2:adaptive_digital",
142*d9f75844SAndroid Build Coastguard Worker    "agc2:cpu_features",
143*d9f75844SAndroid Build Coastguard Worker    "agc2:fixed_digital",
144*d9f75844SAndroid Build Coastguard Worker    "agc2:gain_applier",
145*d9f75844SAndroid Build Coastguard Worker    "agc2:input_volume_controller",
146*d9f75844SAndroid Build Coastguard Worker    "agc2:vad_wrapper",
147*d9f75844SAndroid Build Coastguard Worker  ]
148*d9f75844SAndroid Build Coastguard Worker}
149*d9f75844SAndroid Build Coastguard Worker
150*d9f75844SAndroid Build Coastguard Workerrtc_library("audio_processing") {
151*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
152*d9f75844SAndroid Build Coastguard Worker  configs += [ ":apm_debug_dump" ]
153*d9f75844SAndroid Build Coastguard Worker  sources = [
154*d9f75844SAndroid Build Coastguard Worker    "audio_processing_builder_impl.cc",
155*d9f75844SAndroid Build Coastguard Worker    "audio_processing_impl.cc",
156*d9f75844SAndroid Build Coastguard Worker    "audio_processing_impl.h",
157*d9f75844SAndroid Build Coastguard Worker    "echo_control_mobile_impl.cc",
158*d9f75844SAndroid Build Coastguard Worker    "echo_control_mobile_impl.h",
159*d9f75844SAndroid Build Coastguard Worker    "gain_control_impl.cc",
160*d9f75844SAndroid Build Coastguard Worker    "gain_control_impl.h",
161*d9f75844SAndroid Build Coastguard Worker    "render_queue_item_verifier.h",
162*d9f75844SAndroid Build Coastguard Worker  ]
163*d9f75844SAndroid Build Coastguard Worker
164*d9f75844SAndroid Build Coastguard Worker  defines = []
165*d9f75844SAndroid Build Coastguard Worker  deps = [
166*d9f75844SAndroid Build Coastguard Worker    ":aec_dump_interface",
167*d9f75844SAndroid Build Coastguard Worker    ":api",
168*d9f75844SAndroid Build Coastguard Worker    ":apm_logging",
169*d9f75844SAndroid Build Coastguard Worker    ":audio_buffer",
170*d9f75844SAndroid Build Coastguard Worker    ":audio_frame_proxies",
171*d9f75844SAndroid Build Coastguard Worker    ":audio_frame_view",
172*d9f75844SAndroid Build Coastguard Worker    ":audio_processing_statistics",
173*d9f75844SAndroid Build Coastguard Worker    ":gain_controller2",
174*d9f75844SAndroid Build Coastguard Worker    ":high_pass_filter",
175*d9f75844SAndroid Build Coastguard Worker    ":optionally_built_submodule_creators",
176*d9f75844SAndroid Build Coastguard Worker    ":rms_level",
177*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
178*d9f75844SAndroid Build Coastguard Worker    "../../api:function_view",
179*d9f75844SAndroid Build Coastguard Worker    "../../api:make_ref_counted",
180*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:aec3_config",
181*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:audio_frame_api",
182*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:echo_control",
183*d9f75844SAndroid Build Coastguard Worker    "../../audio/utility:audio_frame_operations",
184*d9f75844SAndroid Build Coastguard Worker    "../../common_audio:common_audio_c",
185*d9f75844SAndroid Build Coastguard Worker    "../../common_audio/third_party/ooura:fft_size_256",
186*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
187*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
188*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:gtest_prod",
189*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:ignore_wundef",
190*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
191*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
192*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:safe_minmax",
193*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:sanitizer",
194*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:swap_queue",
195*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:timeutils",
196*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:field_trial_parser",
197*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/synchronization:mutex",
198*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:rtc_export",
199*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
200*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:denormal_disabler",
201*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:field_trial",
202*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:metrics",
203*d9f75844SAndroid Build Coastguard Worker    "aec3",
204*d9f75844SAndroid Build Coastguard Worker    "aec_dump:aec_dump",
205*d9f75844SAndroid Build Coastguard Worker    "aecm:aecm_core",
206*d9f75844SAndroid Build Coastguard Worker    "agc",
207*d9f75844SAndroid Build Coastguard Worker    "agc:gain_control_interface",
208*d9f75844SAndroid Build Coastguard Worker    "agc:legacy_agc",
209*d9f75844SAndroid Build Coastguard Worker    "agc2:input_volume_stats_reporter",
210*d9f75844SAndroid Build Coastguard Worker    "capture_levels_adjuster",
211*d9f75844SAndroid Build Coastguard Worker    "ns",
212*d9f75844SAndroid Build Coastguard Worker    "transient:transient_suppressor_api",
213*d9f75844SAndroid Build Coastguard Worker    "vad",
214*d9f75844SAndroid Build Coastguard Worker  ]
215*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
216*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
217*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
218*d9f75844SAndroid Build Coastguard Worker  ]
219*d9f75844SAndroid Build Coastguard Worker
220*d9f75844SAndroid Build Coastguard Worker  deps += [
221*d9f75844SAndroid Build Coastguard Worker    "../../common_audio",
222*d9f75844SAndroid Build Coastguard Worker    "../../common_audio:fir_filter",
223*d9f75844SAndroid Build Coastguard Worker    "../../common_audio:fir_filter_factory",
224*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
225*d9f75844SAndroid Build Coastguard Worker  ]
226*d9f75844SAndroid Build Coastguard Worker
227*d9f75844SAndroid Build Coastguard Worker  if (rtc_enable_protobuf) {
228*d9f75844SAndroid Build Coastguard Worker    deps += [ "aec_dump:aec_dump_impl" ]
229*d9f75844SAndroid Build Coastguard Worker  } else {
230*d9f75844SAndroid Build Coastguard Worker    deps += [ "aec_dump:null_aec_dump_factory" ]
231*d9f75844SAndroid Build Coastguard Worker  }
232*d9f75844SAndroid Build Coastguard Worker}
233*d9f75844SAndroid Build Coastguard Worker
234*d9f75844SAndroid Build Coastguard Workerrtc_library("residual_echo_detector") {
235*d9f75844SAndroid Build Coastguard Worker  poisonous = [ "default_echo_detector" ]
236*d9f75844SAndroid Build Coastguard Worker  configs += [ ":apm_debug_dump" ]
237*d9f75844SAndroid Build Coastguard Worker  sources = [
238*d9f75844SAndroid Build Coastguard Worker    "echo_detector/circular_buffer.cc",
239*d9f75844SAndroid Build Coastguard Worker    "echo_detector/circular_buffer.h",
240*d9f75844SAndroid Build Coastguard Worker    "echo_detector/mean_variance_estimator.cc",
241*d9f75844SAndroid Build Coastguard Worker    "echo_detector/mean_variance_estimator.h",
242*d9f75844SAndroid Build Coastguard Worker    "echo_detector/moving_max.cc",
243*d9f75844SAndroid Build Coastguard Worker    "echo_detector/moving_max.h",
244*d9f75844SAndroid Build Coastguard Worker    "echo_detector/normalized_covariance_estimator.cc",
245*d9f75844SAndroid Build Coastguard Worker    "echo_detector/normalized_covariance_estimator.h",
246*d9f75844SAndroid Build Coastguard Worker    "residual_echo_detector.cc",
247*d9f75844SAndroid Build Coastguard Worker    "residual_echo_detector.h",
248*d9f75844SAndroid Build Coastguard Worker  ]
249*d9f75844SAndroid Build Coastguard Worker  deps = [
250*d9f75844SAndroid Build Coastguard Worker    ":api",
251*d9f75844SAndroid Build Coastguard Worker    ":apm_logging",
252*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
253*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
254*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
255*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:metrics",
256*d9f75844SAndroid Build Coastguard Worker  ]
257*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
258*d9f75844SAndroid Build Coastguard Worker}
259*d9f75844SAndroid Build Coastguard Worker
260*d9f75844SAndroid Build Coastguard Workerrtc_library("optionally_built_submodule_creators") {
261*d9f75844SAndroid Build Coastguard Worker  sources = [
262*d9f75844SAndroid Build Coastguard Worker    "optionally_built_submodule_creators.cc",
263*d9f75844SAndroid Build Coastguard Worker    "optionally_built_submodule_creators.h",
264*d9f75844SAndroid Build Coastguard Worker  ]
265*d9f75844SAndroid Build Coastguard Worker  deps = [
266*d9f75844SAndroid Build Coastguard Worker    "transient:transient_suppressor_api",
267*d9f75844SAndroid Build Coastguard Worker    "transient:transient_suppressor_impl",
268*d9f75844SAndroid Build Coastguard Worker  ]
269*d9f75844SAndroid Build Coastguard Worker}
270*d9f75844SAndroid Build Coastguard Worker
271*d9f75844SAndroid Build Coastguard Workerrtc_source_set("rms_level") {
272*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
273*d9f75844SAndroid Build Coastguard Worker  sources = [
274*d9f75844SAndroid Build Coastguard Worker    "rms_level.cc",
275*d9f75844SAndroid Build Coastguard Worker    "rms_level.h",
276*d9f75844SAndroid Build Coastguard Worker  ]
277*d9f75844SAndroid Build Coastguard Worker  deps = [
278*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
279*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
280*d9f75844SAndroid Build Coastguard Worker  ]
281*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
282*d9f75844SAndroid Build Coastguard Worker}
283*d9f75844SAndroid Build Coastguard Worker
284*d9f75844SAndroid Build Coastguard Workerrtc_library("audio_processing_statistics") {
285*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
286*d9f75844SAndroid Build Coastguard Worker  sources = [
287*d9f75844SAndroid Build Coastguard Worker    "include/audio_processing_statistics.cc",
288*d9f75844SAndroid Build Coastguard Worker    "include/audio_processing_statistics.h",
289*d9f75844SAndroid Build Coastguard Worker  ]
290*d9f75844SAndroid Build Coastguard Worker  deps = [ "../../rtc_base/system:rtc_export" ]
291*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
292*d9f75844SAndroid Build Coastguard Worker}
293*d9f75844SAndroid Build Coastguard Worker
294*d9f75844SAndroid Build Coastguard Workerrtc_source_set("audio_frame_view") {
295*d9f75844SAndroid Build Coastguard Worker  sources = [ "include/audio_frame_view.h" ]
296*d9f75844SAndroid Build Coastguard Worker  deps = [ "../../api:array_view" ]
297*d9f75844SAndroid Build Coastguard Worker}
298*d9f75844SAndroid Build Coastguard Worker
299*d9f75844SAndroid Build Coastguard Workerif (rtc_enable_protobuf) {
300*d9f75844SAndroid Build Coastguard Worker  proto_library("audioproc_debug_proto") {
301*d9f75844SAndroid Build Coastguard Worker    sources = [ "debug.proto" ]
302*d9f75844SAndroid Build Coastguard Worker
303*d9f75844SAndroid Build Coastguard Worker    proto_out_dir = "modules/audio_processing"
304*d9f75844SAndroid Build Coastguard Worker  }
305*d9f75844SAndroid Build Coastguard Worker}
306*d9f75844SAndroid Build Coastguard Worker
307*d9f75844SAndroid Build Coastguard Workerrtc_library("apm_logging") {
308*d9f75844SAndroid Build Coastguard Worker  configs += [ ":apm_debug_dump" ]
309*d9f75844SAndroid Build Coastguard Worker  sources = [
310*d9f75844SAndroid Build Coastguard Worker    "logging/apm_data_dumper.cc",
311*d9f75844SAndroid Build Coastguard Worker    "logging/apm_data_dumper.h",
312*d9f75844SAndroid Build Coastguard Worker  ]
313*d9f75844SAndroid Build Coastguard Worker  deps = [
314*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
315*d9f75844SAndroid Build Coastguard Worker    "../../common_audio",
316*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
317*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:stringutils",
318*d9f75844SAndroid Build Coastguard Worker  ]
319*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
320*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
321*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
322*d9f75844SAndroid Build Coastguard Worker  ]
323*d9f75844SAndroid Build Coastguard Worker  defines = []
324*d9f75844SAndroid Build Coastguard Worker}
325*d9f75844SAndroid Build Coastguard Worker
326*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) {
327*d9f75844SAndroid Build Coastguard Worker  rtc_source_set("mocks") {
328*d9f75844SAndroid Build Coastguard Worker    testonly = true
329*d9f75844SAndroid Build Coastguard Worker    sources = [ "include/mock_audio_processing.h" ]
330*d9f75844SAndroid Build Coastguard Worker    deps = [
331*d9f75844SAndroid Build Coastguard Worker      ":aec_dump_interface",
332*d9f75844SAndroid Build Coastguard Worker      ":api",
333*d9f75844SAndroid Build Coastguard Worker      ":audio_buffer",
334*d9f75844SAndroid Build Coastguard Worker      ":audio_processing",
335*d9f75844SAndroid Build Coastguard Worker      ":audio_processing_statistics",
336*d9f75844SAndroid Build Coastguard Worker      "../../test:test_support",
337*d9f75844SAndroid Build Coastguard Worker    ]
338*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
339*d9f75844SAndroid Build Coastguard Worker  }
340*d9f75844SAndroid Build Coastguard Worker
341*d9f75844SAndroid Build Coastguard Worker  if (!build_with_chromium) {
342*d9f75844SAndroid Build Coastguard Worker    group("audio_processing_tests") {
343*d9f75844SAndroid Build Coastguard Worker      testonly = true
344*d9f75844SAndroid Build Coastguard Worker      deps = [
345*d9f75844SAndroid Build Coastguard Worker        ":audioproc_test_utils",
346*d9f75844SAndroid Build Coastguard Worker        "transient:click_annotate",
347*d9f75844SAndroid Build Coastguard Worker        "transient:transient_suppression_test",
348*d9f75844SAndroid Build Coastguard Worker      ]
349*d9f75844SAndroid Build Coastguard Worker
350*d9f75844SAndroid Build Coastguard Worker      if (rtc_enable_protobuf) {
351*d9f75844SAndroid Build Coastguard Worker        deps += [
352*d9f75844SAndroid Build Coastguard Worker          ":audioproc_unittest_proto",
353*d9f75844SAndroid Build Coastguard Worker          "aec_dump:aec_dump_unittests",
354*d9f75844SAndroid Build Coastguard Worker          "test/conversational_speech",
355*d9f75844SAndroid Build Coastguard Worker          "test/py_quality_assessment",
356*d9f75844SAndroid Build Coastguard Worker        ]
357*d9f75844SAndroid Build Coastguard Worker      }
358*d9f75844SAndroid Build Coastguard Worker    }
359*d9f75844SAndroid Build Coastguard Worker
360*d9f75844SAndroid Build Coastguard Worker    rtc_library("audio_processing_unittests") {
361*d9f75844SAndroid Build Coastguard Worker      testonly = true
362*d9f75844SAndroid Build Coastguard Worker
363*d9f75844SAndroid Build Coastguard Worker      configs += [ ":apm_debug_dump" ]
364*d9f75844SAndroid Build Coastguard Worker      sources = [
365*d9f75844SAndroid Build Coastguard Worker        "audio_buffer_unittest.cc",
366*d9f75844SAndroid Build Coastguard Worker        "audio_frame_view_unittest.cc",
367*d9f75844SAndroid Build Coastguard Worker        "echo_control_mobile_unittest.cc",
368*d9f75844SAndroid Build Coastguard Worker        "gain_controller2_unittest.cc",
369*d9f75844SAndroid Build Coastguard Worker        "splitting_filter_unittest.cc",
370*d9f75844SAndroid Build Coastguard Worker        "test/fake_recording_device_unittest.cc",
371*d9f75844SAndroid Build Coastguard Worker      ]
372*d9f75844SAndroid Build Coastguard Worker
373*d9f75844SAndroid Build Coastguard Worker      deps = [
374*d9f75844SAndroid Build Coastguard Worker        ":analog_mic_simulation",
375*d9f75844SAndroid Build Coastguard Worker        ":api",
376*d9f75844SAndroid Build Coastguard Worker        ":apm_logging",
377*d9f75844SAndroid Build Coastguard Worker        ":audio_buffer",
378*d9f75844SAndroid Build Coastguard Worker        ":audio_frame_view",
379*d9f75844SAndroid Build Coastguard Worker        ":audio_processing",
380*d9f75844SAndroid Build Coastguard Worker        ":audioproc_test_utils",
381*d9f75844SAndroid Build Coastguard Worker        ":gain_controller2",
382*d9f75844SAndroid Build Coastguard Worker        ":high_pass_filter",
383*d9f75844SAndroid Build Coastguard Worker        ":mocks",
384*d9f75844SAndroid Build Coastguard Worker        "../../api:array_view",
385*d9f75844SAndroid Build Coastguard Worker        "../../api:make_ref_counted",
386*d9f75844SAndroid Build Coastguard Worker        "../../api:scoped_refptr",
387*d9f75844SAndroid Build Coastguard Worker        "../../api/audio:aec3_config",
388*d9f75844SAndroid Build Coastguard Worker        "../../api/audio:aec3_factory",
389*d9f75844SAndroid Build Coastguard Worker        "../../api/audio:echo_detector_creator",
390*d9f75844SAndroid Build Coastguard Worker        "../../common_audio",
391*d9f75844SAndroid Build Coastguard Worker        "../../common_audio:common_audio_c",
392*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base",
393*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:checks",
394*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:gtest_prod",
395*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:ignore_wundef",
396*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:macromagic",
397*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:platform_thread",
398*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:protobuf_utils",
399*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:random",
400*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:rtc_base_tests_utils",
401*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:rtc_event",
402*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:safe_conversions",
403*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:safe_minmax",
404*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:stringutils",
405*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:swap_queue",
406*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:task_queue_for_test",
407*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:threading",
408*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base/synchronization:mutex",
409*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base/system:arch",
410*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base/system:file_wrapper",
411*d9f75844SAndroid Build Coastguard Worker        "../../system_wrappers",
412*d9f75844SAndroid Build Coastguard Worker        "../../system_wrappers:denormal_disabler",
413*d9f75844SAndroid Build Coastguard Worker        "../../test:field_trial",
414*d9f75844SAndroid Build Coastguard Worker        "../../test:fileutils",
415*d9f75844SAndroid Build Coastguard Worker        "../../test:rtc_expect_death",
416*d9f75844SAndroid Build Coastguard Worker        "../../test:test_support",
417*d9f75844SAndroid Build Coastguard Worker        "../audio_coding:neteq_input_audio_tools",
418*d9f75844SAndroid Build Coastguard Worker        "aec_dump:mock_aec_dump_unittests",
419*d9f75844SAndroid Build Coastguard Worker        "agc:agc_unittests",
420*d9f75844SAndroid Build Coastguard Worker        "agc2:adaptive_digital_gain_applier_unittest",
421*d9f75844SAndroid Build Coastguard Worker        "agc2:biquad_filter_unittests",
422*d9f75844SAndroid Build Coastguard Worker        "agc2:fixed_digital_unittests",
423*d9f75844SAndroid Build Coastguard Worker        "agc2:gain_applier_unittest",
424*d9f75844SAndroid Build Coastguard Worker        "agc2:input_volume_controller_unittests",
425*d9f75844SAndroid Build Coastguard Worker        "agc2:input_volume_stats_reporter_unittests",
426*d9f75844SAndroid Build Coastguard Worker        "agc2:noise_estimator_unittests",
427*d9f75844SAndroid Build Coastguard Worker        "agc2:saturation_protector_unittest",
428*d9f75844SAndroid Build Coastguard Worker        "agc2:speech_level_estimator_unittest",
429*d9f75844SAndroid Build Coastguard Worker        "agc2:test_utils",
430*d9f75844SAndroid Build Coastguard Worker        "agc2:vad_wrapper_unittests",
431*d9f75844SAndroid Build Coastguard Worker        "agc2/rnn_vad:unittests",
432*d9f75844SAndroid Build Coastguard Worker        "capture_levels_adjuster",
433*d9f75844SAndroid Build Coastguard Worker        "capture_levels_adjuster:capture_levels_adjuster_unittests",
434*d9f75844SAndroid Build Coastguard Worker        "test/conversational_speech:unittest",
435*d9f75844SAndroid Build Coastguard Worker        "transient:transient_suppression_unittests",
436*d9f75844SAndroid Build Coastguard Worker        "utility:legacy_delay_estimator_unittest",
437*d9f75844SAndroid Build Coastguard Worker        "utility:pffft_wrapper_unittest",
438*d9f75844SAndroid Build Coastguard Worker        "vad:vad_unittests",
439*d9f75844SAndroid Build Coastguard Worker        "//testing/gtest",
440*d9f75844SAndroid Build Coastguard Worker      ]
441*d9f75844SAndroid Build Coastguard Worker      absl_deps = [
442*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/strings",
443*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/types:optional",
444*d9f75844SAndroid Build Coastguard Worker      ]
445*d9f75844SAndroid Build Coastguard Worker
446*d9f75844SAndroid Build Coastguard Worker      defines = []
447*d9f75844SAndroid Build Coastguard Worker
448*d9f75844SAndroid Build Coastguard Worker      if (rtc_prefer_fixed_point) {
449*d9f75844SAndroid Build Coastguard Worker        defines += [ "WEBRTC_AUDIOPROC_FIXED_PROFILE" ]
450*d9f75844SAndroid Build Coastguard Worker      } else {
451*d9f75844SAndroid Build Coastguard Worker        defines += [ "WEBRTC_AUDIOPROC_FLOAT_PROFILE" ]
452*d9f75844SAndroid Build Coastguard Worker      }
453*d9f75844SAndroid Build Coastguard Worker
454*d9f75844SAndroid Build Coastguard Worker      if (rtc_enable_protobuf) {
455*d9f75844SAndroid Build Coastguard Worker        defines += [ "WEBRTC_AUDIOPROC_DEBUG_DUMP" ]
456*d9f75844SAndroid Build Coastguard Worker        deps += [
457*d9f75844SAndroid Build Coastguard Worker          ":audioproc_debug_proto",
458*d9f75844SAndroid Build Coastguard Worker          ":audioproc_protobuf_utils",
459*d9f75844SAndroid Build Coastguard Worker          ":audioproc_test_utils",
460*d9f75844SAndroid Build Coastguard Worker          ":audioproc_unittest_proto",
461*d9f75844SAndroid Build Coastguard Worker          ":optionally_built_submodule_creators",
462*d9f75844SAndroid Build Coastguard Worker          ":residual_echo_detector",
463*d9f75844SAndroid Build Coastguard Worker          ":rms_level",
464*d9f75844SAndroid Build Coastguard Worker          ":runtime_settings_protobuf_utils",
465*d9f75844SAndroid Build Coastguard Worker          "../../api/audio:audio_frame_api",
466*d9f75844SAndroid Build Coastguard Worker          "../../api/audio:echo_control",
467*d9f75844SAndroid Build Coastguard Worker          "../../rtc_base:rtc_base_tests_utils",
468*d9f75844SAndroid Build Coastguard Worker          "../../rtc_base:rtc_task_queue",
469*d9f75844SAndroid Build Coastguard Worker          "aec_dump",
470*d9f75844SAndroid Build Coastguard Worker          "aec_dump:aec_dump_unittests",
471*d9f75844SAndroid Build Coastguard Worker        ]
472*d9f75844SAndroid Build Coastguard Worker        absl_deps += [ "//third_party/abseil-cpp/absl/flags:flag" ]
473*d9f75844SAndroid Build Coastguard Worker        sources += [
474*d9f75844SAndroid Build Coastguard Worker          "audio_processing_impl_locking_unittest.cc",
475*d9f75844SAndroid Build Coastguard Worker          "audio_processing_impl_unittest.cc",
476*d9f75844SAndroid Build Coastguard Worker          "audio_processing_unittest.cc",
477*d9f75844SAndroid Build Coastguard Worker          "echo_control_mobile_bit_exact_unittest.cc",
478*d9f75844SAndroid Build Coastguard Worker          "echo_detector/circular_buffer_unittest.cc",
479*d9f75844SAndroid Build Coastguard Worker          "echo_detector/mean_variance_estimator_unittest.cc",
480*d9f75844SAndroid Build Coastguard Worker          "echo_detector/moving_max_unittest.cc",
481*d9f75844SAndroid Build Coastguard Worker          "echo_detector/normalized_covariance_estimator_unittest.cc",
482*d9f75844SAndroid Build Coastguard Worker          "gain_control_unittest.cc",
483*d9f75844SAndroid Build Coastguard Worker          "high_pass_filter_unittest.cc",
484*d9f75844SAndroid Build Coastguard Worker          "residual_echo_detector_unittest.cc",
485*d9f75844SAndroid Build Coastguard Worker          "rms_level_unittest.cc",
486*d9f75844SAndroid Build Coastguard Worker          "test/debug_dump_replayer.cc",
487*d9f75844SAndroid Build Coastguard Worker          "test/debug_dump_replayer.h",
488*d9f75844SAndroid Build Coastguard Worker          "test/debug_dump_test.cc",
489*d9f75844SAndroid Build Coastguard Worker          "test/echo_canceller_test_tools.cc",
490*d9f75844SAndroid Build Coastguard Worker          "test/echo_canceller_test_tools.h",
491*d9f75844SAndroid Build Coastguard Worker          "test/echo_canceller_test_tools_unittest.cc",
492*d9f75844SAndroid Build Coastguard Worker          "test/echo_control_mock.h",
493*d9f75844SAndroid Build Coastguard Worker          "test/test_utils.h",
494*d9f75844SAndroid Build Coastguard Worker        ]
495*d9f75844SAndroid Build Coastguard Worker      }
496*d9f75844SAndroid Build Coastguard Worker    }
497*d9f75844SAndroid Build Coastguard Worker  }
498*d9f75844SAndroid Build Coastguard Worker
499*d9f75844SAndroid Build Coastguard Worker  rtc_library("audio_processing_perf_tests") {
500*d9f75844SAndroid Build Coastguard Worker    testonly = true
501*d9f75844SAndroid Build Coastguard Worker    configs += [ ":apm_debug_dump" ]
502*d9f75844SAndroid Build Coastguard Worker
503*d9f75844SAndroid Build Coastguard Worker    sources = [ "audio_processing_performance_unittest.cc" ]
504*d9f75844SAndroid Build Coastguard Worker    deps = [
505*d9f75844SAndroid Build Coastguard Worker      ":audio_processing",
506*d9f75844SAndroid Build Coastguard Worker      ":audioproc_test_utils",
507*d9f75844SAndroid Build Coastguard Worker      "../../api:array_view",
508*d9f75844SAndroid Build Coastguard Worker      "../../api/numerics",
509*d9f75844SAndroid Build Coastguard Worker      "../../api/test/metrics:global_metrics_logger_and_exporter",
510*d9f75844SAndroid Build Coastguard Worker      "../../api/test/metrics:metric",
511*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:platform_thread",
512*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:protobuf_utils",
513*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:random",
514*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:rtc_event",
515*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:safe_conversions",
516*d9f75844SAndroid Build Coastguard Worker      "../../system_wrappers",
517*d9f75844SAndroid Build Coastguard Worker      "../../test:test_support",
518*d9f75844SAndroid Build Coastguard Worker    ]
519*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
520*d9f75844SAndroid Build Coastguard Worker  }
521*d9f75844SAndroid Build Coastguard Worker
522*d9f75844SAndroid Build Coastguard Worker  rtc_library("analog_mic_simulation") {
523*d9f75844SAndroid Build Coastguard Worker    sources = [
524*d9f75844SAndroid Build Coastguard Worker      "test/fake_recording_device.cc",
525*d9f75844SAndroid Build Coastguard Worker      "test/fake_recording_device.h",
526*d9f75844SAndroid Build Coastguard Worker    ]
527*d9f75844SAndroid Build Coastguard Worker    deps = [
528*d9f75844SAndroid Build Coastguard Worker      "../../api:array_view",
529*d9f75844SAndroid Build Coastguard Worker      "../../api/audio:audio_frame_api",
530*d9f75844SAndroid Build Coastguard Worker      "../../common_audio",
531*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
532*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:logging",
533*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:safe_conversions",
534*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:safe_minmax",
535*d9f75844SAndroid Build Coastguard Worker      "agc2:gain_map",
536*d9f75844SAndroid Build Coastguard Worker    ]
537*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
538*d9f75844SAndroid Build Coastguard Worker  }
539*d9f75844SAndroid Build Coastguard Worker
540*d9f75844SAndroid Build Coastguard Worker  if (rtc_enable_protobuf && !build_with_chromium) {
541*d9f75844SAndroid Build Coastguard Worker    rtc_library("audioproc_f_impl") {
542*d9f75844SAndroid Build Coastguard Worker      testonly = true
543*d9f75844SAndroid Build Coastguard Worker      configs += [ ":apm_debug_dump" ]
544*d9f75844SAndroid Build Coastguard Worker      sources = [
545*d9f75844SAndroid Build Coastguard Worker        "test/aec_dump_based_simulator.cc",
546*d9f75844SAndroid Build Coastguard Worker        "test/aec_dump_based_simulator.h",
547*d9f75844SAndroid Build Coastguard Worker        "test/api_call_statistics.cc",
548*d9f75844SAndroid Build Coastguard Worker        "test/api_call_statistics.h",
549*d9f75844SAndroid Build Coastguard Worker        "test/audio_processing_simulator.cc",
550*d9f75844SAndroid Build Coastguard Worker        "test/audio_processing_simulator.h",
551*d9f75844SAndroid Build Coastguard Worker        "test/audioproc_float_impl.cc",
552*d9f75844SAndroid Build Coastguard Worker        "test/audioproc_float_impl.h",
553*d9f75844SAndroid Build Coastguard Worker        "test/wav_based_simulator.cc",
554*d9f75844SAndroid Build Coastguard Worker        "test/wav_based_simulator.h",
555*d9f75844SAndroid Build Coastguard Worker      ]
556*d9f75844SAndroid Build Coastguard Worker
557*d9f75844SAndroid Build Coastguard Worker      deps = [
558*d9f75844SAndroid Build Coastguard Worker        ":analog_mic_simulation",
559*d9f75844SAndroid Build Coastguard Worker        ":api",
560*d9f75844SAndroid Build Coastguard Worker        ":apm_logging",
561*d9f75844SAndroid Build Coastguard Worker        ":audio_processing",
562*d9f75844SAndroid Build Coastguard Worker        ":audioproc_debug_proto",
563*d9f75844SAndroid Build Coastguard Worker        ":audioproc_protobuf_utils",
564*d9f75844SAndroid Build Coastguard Worker        ":audioproc_test_utils",
565*d9f75844SAndroid Build Coastguard Worker        ":runtime_settings_protobuf_utils",
566*d9f75844SAndroid Build Coastguard Worker        "../../api/audio:aec3_config_json",
567*d9f75844SAndroid Build Coastguard Worker        "../../api/audio:aec3_factory",
568*d9f75844SAndroid Build Coastguard Worker        "../../api/audio:echo_detector_creator",
569*d9f75844SAndroid Build Coastguard Worker        "../../common_audio",
570*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:checks",
571*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:ignore_wundef",
572*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:logging",
573*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:protobuf_utils",
574*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:rtc_json",
575*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:safe_conversions",
576*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:stringutils",
577*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:task_queue_for_test",
578*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:timeutils",
579*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base/system:file_wrapper",
580*d9f75844SAndroid Build Coastguard Worker        "../../system_wrappers",
581*d9f75844SAndroid Build Coastguard Worker        "../../system_wrappers:field_trial",
582*d9f75844SAndroid Build Coastguard Worker        "../../test:test_support",
583*d9f75844SAndroid Build Coastguard Worker        "aec_dump",
584*d9f75844SAndroid Build Coastguard Worker        "aec_dump:aec_dump_impl",
585*d9f75844SAndroid Build Coastguard Worker        "//testing/gtest",
586*d9f75844SAndroid Build Coastguard Worker      ]
587*d9f75844SAndroid Build Coastguard Worker      absl_deps = [
588*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/flags:flag",
589*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/flags:parse",
590*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/strings",
591*d9f75844SAndroid Build Coastguard Worker        "//third_party/abseil-cpp/absl/types:optional",
592*d9f75844SAndroid Build Coastguard Worker      ]
593*d9f75844SAndroid Build Coastguard Worker    }  # audioproc_f_impl
594*d9f75844SAndroid Build Coastguard Worker  }
595*d9f75844SAndroid Build Coastguard Worker
596*d9f75844SAndroid Build Coastguard Worker  if (rtc_enable_protobuf) {
597*d9f75844SAndroid Build Coastguard Worker    proto_library("audioproc_unittest_proto") {
598*d9f75844SAndroid Build Coastguard Worker      sources = [ "test/unittest.proto" ]
599*d9f75844SAndroid Build Coastguard Worker      proto_out_dir = "modules/audio_processing/test"
600*d9f75844SAndroid Build Coastguard Worker    }
601*d9f75844SAndroid Build Coastguard Worker
602*d9f75844SAndroid Build Coastguard Worker    rtc_library("audioproc_protobuf_utils") {
603*d9f75844SAndroid Build Coastguard Worker      sources = [
604*d9f75844SAndroid Build Coastguard Worker        "test/protobuf_utils.cc",
605*d9f75844SAndroid Build Coastguard Worker        "test/protobuf_utils.h",
606*d9f75844SAndroid Build Coastguard Worker      ]
607*d9f75844SAndroid Build Coastguard Worker
608*d9f75844SAndroid Build Coastguard Worker      deps = [
609*d9f75844SAndroid Build Coastguard Worker        ":audioproc_debug_proto",
610*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:checks",
611*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:ignore_wundef",
612*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:protobuf_utils",
613*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base/system:arch",
614*d9f75844SAndroid Build Coastguard Worker      ]
615*d9f75844SAndroid Build Coastguard Worker    }
616*d9f75844SAndroid Build Coastguard Worker
617*d9f75844SAndroid Build Coastguard Worker    rtc_library("runtime_settings_protobuf_utils") {
618*d9f75844SAndroid Build Coastguard Worker      testonly = true
619*d9f75844SAndroid Build Coastguard Worker      sources = [
620*d9f75844SAndroid Build Coastguard Worker        "test/runtime_setting_util.cc",
621*d9f75844SAndroid Build Coastguard Worker        "test/runtime_setting_util.h",
622*d9f75844SAndroid Build Coastguard Worker      ]
623*d9f75844SAndroid Build Coastguard Worker
624*d9f75844SAndroid Build Coastguard Worker      deps = [
625*d9f75844SAndroid Build Coastguard Worker        ":api",
626*d9f75844SAndroid Build Coastguard Worker        ":audioproc_debug_proto",
627*d9f75844SAndroid Build Coastguard Worker        ":audioproc_protobuf_utils",
628*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:checks",
629*d9f75844SAndroid Build Coastguard Worker      ]
630*d9f75844SAndroid Build Coastguard Worker    }
631*d9f75844SAndroid Build Coastguard Worker  }
632*d9f75844SAndroid Build Coastguard Worker}
633*d9f75844SAndroid Build Coastguard Worker
634*d9f75844SAndroid Build Coastguard Workerrtc_library("audioproc_test_utils") {
635*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
636*d9f75844SAndroid Build Coastguard Worker  testonly = true
637*d9f75844SAndroid Build Coastguard Worker  sources = [
638*d9f75844SAndroid Build Coastguard Worker    "test/audio_buffer_tools.cc",
639*d9f75844SAndroid Build Coastguard Worker    "test/audio_buffer_tools.h",
640*d9f75844SAndroid Build Coastguard Worker    "test/audio_processing_builder_for_testing.cc",
641*d9f75844SAndroid Build Coastguard Worker    "test/audio_processing_builder_for_testing.h",
642*d9f75844SAndroid Build Coastguard Worker    "test/bitexactness_tools.cc",
643*d9f75844SAndroid Build Coastguard Worker    "test/bitexactness_tools.h",
644*d9f75844SAndroid Build Coastguard Worker    "test/performance_timer.cc",
645*d9f75844SAndroid Build Coastguard Worker    "test/performance_timer.h",
646*d9f75844SAndroid Build Coastguard Worker    "test/simulator_buffers.cc",
647*d9f75844SAndroid Build Coastguard Worker    "test/simulator_buffers.h",
648*d9f75844SAndroid Build Coastguard Worker    "test/test_utils.cc",
649*d9f75844SAndroid Build Coastguard Worker    "test/test_utils.h",
650*d9f75844SAndroid Build Coastguard Worker  ]
651*d9f75844SAndroid Build Coastguard Worker
652*d9f75844SAndroid Build Coastguard Worker  configs += [ ":apm_debug_dump" ]
653*d9f75844SAndroid Build Coastguard Worker
654*d9f75844SAndroid Build Coastguard Worker  deps = [
655*d9f75844SAndroid Build Coastguard Worker    ":api",
656*d9f75844SAndroid Build Coastguard Worker    ":audio_buffer",
657*d9f75844SAndroid Build Coastguard Worker    ":audio_processing",
658*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
659*d9f75844SAndroid Build Coastguard Worker    "../../api/audio:audio_frame_api",
660*d9f75844SAndroid Build Coastguard Worker    "../../common_audio",
661*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
662*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:random",
663*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:arch",
664*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
665*d9f75844SAndroid Build Coastguard Worker    "../../test:fileutils",
666*d9f75844SAndroid Build Coastguard Worker    "../../test:test_support",
667*d9f75844SAndroid Build Coastguard Worker    "../audio_coding:neteq_input_audio_tools",
668*d9f75844SAndroid Build Coastguard Worker    "//testing/gtest",
669*d9f75844SAndroid Build Coastguard Worker  ]
670*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
671*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
672*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
673*d9f75844SAndroid Build Coastguard Worker  ]
674*d9f75844SAndroid Build Coastguard Worker}
675