BUILD.gn (3400B)
1 # Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. 2 # 3 # Use of this source code is governed by a BSD-style license 4 # that can be found in the LICENSE file in the root of the source 5 # tree. An additional intellectual property rights grant can be found 6 # in the file PATENTS. All contributing project authors may 7 # be found in the AUTHORS file in the root of the source tree. 8 9 import("../../../webrtc.gni") 10 11 rtc_source_set("gain_control_interface") { 12 sources = [ "gain_control.h" ] 13 } 14 15 rtc_library("agc") { 16 sources = [ 17 "agc_manager_direct.cc", 18 "agc_manager_direct.h", 19 ] 20 configs += [ "..:apm_debug_dump" ] 21 deps = [ 22 ":gain_control_interface", 23 ":level_estimation", 24 "..:apm_logging", 25 "..:audio_buffer", 26 "..:audio_frame_view", 27 "../../../api:array_view", 28 "../../../api:field_trials_view", 29 "../../../api/audio:audio_processing", 30 "../../../api/environment", 31 "../../../common_audio", 32 "../../../common_audio:common_audio_c", 33 "../../../rtc_base:checks", 34 "../../../rtc_base:gtest_prod", 35 "../../../rtc_base:logging", 36 "../../../rtc_base:safe_minmax", 37 "../../../system_wrappers:metrics", 38 "../agc2:clipping_predictor", 39 "../agc2:gain_map", 40 "../agc2:input_volume_stats_reporter", 41 "../vad", 42 ] 43 } 44 45 rtc_library("level_estimation") { 46 sources = [ 47 "agc.cc", 48 "agc.h", 49 "loudness_histogram.cc", 50 "loudness_histogram.h", 51 "utility.cc", 52 "utility.h", 53 ] 54 deps = [ 55 "../../../api:array_view", 56 "../../../rtc_base:checks", 57 "../vad", 58 ] 59 } 60 61 rtc_library("legacy_agc") { 62 visibility = [ 63 ":*", 64 "..:*", 65 ] # Only targets in this file and in 66 # audio_processing can depend on 67 # this. 68 69 sources = [ 70 "legacy/analog_agc.cc", 71 "legacy/analog_agc.h", 72 "legacy/digital_agc.cc", 73 "legacy/digital_agc.h", 74 "legacy/gain_control.h", 75 ] 76 77 deps = [ 78 "../../../common_audio", 79 "../../../common_audio:common_audio_c", 80 "../../../common_audio:common_audio_cc", 81 "../../../common_audio/third_party/ooura:fft_size_256", 82 "../../../rtc_base:checks", 83 "../../../system_wrappers", 84 ] 85 86 if (rtc_build_with_neon) { 87 if (target_cpu != "arm64") { 88 # Enable compilation for the NEON instruction set. 89 suppressed_configs += [ "//chromium/build/config/compiler:compiler_arm_fpu" ] 90 cflags = [ "-mfpu=neon" ] 91 } 92 } 93 } 94 95 if (rtc_include_tests) { 96 rtc_library("agc_unittests") { 97 testonly = true 98 sources = [ 99 "agc_manager_direct_unittest.cc", 100 "loudness_histogram_unittest.cc", 101 "mock_agc.h", 102 ] 103 configs += [ "..:apm_debug_dump" ] 104 105 deps = [ 106 ":agc", 107 ":gain_control_interface", 108 ":level_estimation", 109 "..:audio_buffer", 110 "..:mocks", 111 "../../../api:array_view", 112 "../../../api:field_trials", 113 "../../../api/audio:audio_processing", 114 "../../../api/environment", 115 "../../../api/environment:environment_factory", 116 "../../../rtc_base:checks", 117 "../../../rtc_base:random", 118 "../../../rtc_base:safe_conversions", 119 "../../../rtc_base:safe_minmax", 120 "../../../rtc_base:stringutils", 121 "../../../system_wrappers:metrics", 122 "../../../test:create_test_field_trials", 123 "../../../test:fileutils", 124 "../../../test:test_support", 125 "//testing/gtest", 126 "//third_party/abseil-cpp/absl/strings:string_view", 127 ] 128 } 129 }