BUILD.gn (4125B)
1 # Copyright (c) 2014 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 group("audio_mixer") { 12 deps = [ 13 ":audio_frame_manipulator", 14 ":audio_mixer_impl", 15 ] 16 } 17 18 rtc_library("audio_mixer_impl") { 19 visibility = [ "*" ] 20 sources = [ 21 "audio_mixer_impl.cc", 22 "audio_mixer_impl.h", 23 "default_output_rate_calculator.cc", 24 "default_output_rate_calculator.h", 25 "frame_combiner.cc", 26 "frame_combiner.h", 27 "output_rate_calculator.h", 28 ] 29 30 public = [ 31 "audio_mixer_impl.h", 32 "default_output_rate_calculator.h", # For creating a mixer with limiter 33 # disabled. 34 "frame_combiner.h", 35 "output_rate_calculator.h", 36 ] 37 38 configs += [ "../audio_processing:apm_debug_dump" ] 39 40 deps = [ 41 ":audio_frame_manipulator", 42 "../../api:array_view", 43 "../../api:make_ref_counted", 44 "../../api:rtp_packet_info", 45 "../../api:scoped_refptr", 46 "../../api/audio:audio_frame_api", 47 "../../api/audio:audio_mixer_api", 48 "../../api/audio:audio_processing", 49 "../../api/audio:audio_processing", 50 "../../audio/utility:audio_frame_operations", 51 "../../common_audio", 52 "../../rtc_base:checks", 53 "../../rtc_base:event_tracer", 54 "../../rtc_base:logging", 55 "../../rtc_base:macromagic", 56 "../../rtc_base:race_checker", 57 "../../rtc_base:refcount", 58 "../../rtc_base:safe_conversions", 59 "../../rtc_base/synchronization:mutex", 60 "../../system_wrappers", 61 "../../system_wrappers:metrics", 62 "../audio_processing:apm_logging", 63 "../audio_processing:audio_frame_view", 64 "../audio_processing/agc2:fixed_digital", 65 ] 66 } 67 68 rtc_library("audio_frame_manipulator") { 69 visibility = [ 70 ":*", 71 "../../modules:*", 72 ] 73 74 sources = [ 75 "audio_frame_manipulator.cc", 76 "audio_frame_manipulator.h", 77 ] 78 79 deps = [ 80 "../../api/audio:audio_frame_api", 81 "../../audio/utility:audio_frame_operations", 82 "../../rtc_base:checks", 83 ] 84 } 85 86 if (rtc_include_tests) { 87 rtc_library("audio_mixer_test_utils") { 88 testonly = true 89 90 sources = [ 91 "gain_change_calculator.cc", 92 "gain_change_calculator.h", 93 "sine_wave_generator.cc", 94 "sine_wave_generator.h", 95 ] 96 97 deps = [ 98 ":audio_frame_manipulator", 99 ":audio_mixer_impl", 100 "../../api:array_view", 101 "../../api/audio:audio_frame_api", 102 "../../rtc_base:checks", 103 "../../rtc_base:safe_conversions", 104 ] 105 } 106 107 rtc_library("audio_mixer_unittests") { 108 testonly = true 109 110 sources = [ 111 "audio_frame_manipulator_unittest.cc", 112 "audio_mixer_impl_unittest.cc", 113 "frame_combiner_unittest.cc", 114 ] 115 deps = [ 116 ":audio_frame_manipulator", 117 ":audio_mixer_impl", 118 ":audio_mixer_test_utils", 119 "../../api:array_view", 120 "../../api:rtp_packet_info", 121 "../../api:scoped_refptr", 122 "../../api/audio:audio_frame_api", 123 "../../api/audio:audio_mixer_api", 124 "../../api/units:timestamp", 125 "../../audio/utility:audio_frame_operations", 126 "../../rtc_base:checks", 127 "../../rtc_base:stringutils", 128 "../../rtc_base:task_queue_for_test", 129 "../../system_wrappers:metrics", 130 "../../test:test_support", 131 ] 132 } 133 134 if (!build_with_chromium) { 135 rtc_executable("audio_mixer_test") { 136 testonly = true 137 sources = [ "audio_mixer_test.cc" ] 138 139 deps = [ 140 ":audio_mixer_impl", 141 "../../api:scoped_refptr", 142 "../../api/audio:audio_frame_api", 143 "../../api/audio:audio_mixer_api", 144 "../../common_audio", 145 "../../rtc_base:checks", 146 "../../rtc_base:stringutils", 147 "//third_party/abseil-cpp/absl/flags:flag", 148 "//third_party/abseil-cpp/absl/flags:parse", 149 "//third_party/abseil-cpp/absl/strings:string_view", 150 ] 151 } 152 } 153 }