aleloi | 77ad394 | 2016-07-04 13:33:02 | [diff] [blame] | 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 | |
mbonadei | 9aa3f0a | 2017-01-24 14:58:22 | [diff] [blame] | 9 | import("../../webrtc.gni") |
ehmaldonado | 38a2132 | 2016-09-02 11:10:34 | [diff] [blame] | 10 | |
kjellander | 6ceab08 | 2016-10-28 12:44:03 | [diff] [blame] | 11 | group("audio_mixer") { |
Mirko Bonadei | 03d6f2f | 2017-12-05 14:33:16 | [diff] [blame] | 12 | deps = [ |
kjellander | 6ceab08 | 2016-10-28 12:44:03 | [diff] [blame] | 13 | ":audio_frame_manipulator", |
| 14 | ":audio_mixer_impl", |
| 15 | ] |
| 16 | } |
| 17 | |
Mirko Bonadei | 86d053c | 2019-10-17 19:32:04 | [diff] [blame] | 18 | rtc_library("audio_mixer_impl") { |
Mirko Bonadei | 97c65b7 | 2018-10-05 09:19:58 | [diff] [blame] | 19 | visibility = [ "*" ] |
aleloi | 77ad394 | 2016-07-04 13:33:02 | [diff] [blame] | 20 | sources = [ |
aleloi | 5d167d6 | 2016-08-24 09:20:54 | [diff] [blame] | 21 | "audio_mixer_impl.cc", |
| 22 | "audio_mixer_impl.h", |
aleloi | 623427c | 2016-12-08 10:37:58 | [diff] [blame] | 23 | "default_output_rate_calculator.cc", |
| 24 | "default_output_rate_calculator.h", |
aleloi | 24899e5 | 2017-02-21 13:06:29 | [diff] [blame] | 25 | "frame_combiner.cc", |
| 26 | "frame_combiner.h", |
aleloi | 623427c | 2016-12-08 10:37:58 | [diff] [blame] | 27 | "output_rate_calculator.h", |
aleloi | 77ad394 | 2016-07-04 13:33:02 | [diff] [blame] | 28 | ] |
| 29 | |
aleloi | 4496809 | 2016-08-08 17:18:58 | [diff] [blame] | 30 | public = [ |
aleloi | 201dfe9 | 2016-10-20 12:06:39 | [diff] [blame] | 31 | "audio_mixer_impl.h", |
Sam Zackrisson | e5fe539 | 2020-03-12 11:59:37 | [diff] [blame] | 32 | "default_output_rate_calculator.h", # For creating a mixer with limiter |
| 33 | # disabled. |
aleloi | 24899e5 | 2017-02-21 13:06:29 | [diff] [blame] | 34 | "frame_combiner.h", |
aleloi | 4496809 | 2016-08-08 17:18:58 | [diff] [blame] | 35 | ] |
| 36 | |
Alex Loiko | 507e8d1 | 2018-02-27 12:51:47 | [diff] [blame] | 37 | configs += [ "../audio_processing:apm_debug_dump" ] |
| 38 | |
aleloi | 77ad394 | 2016-07-04 13:33:02 | [diff] [blame] | 39 | deps = [ |
aleloi | 201dfe9 | 2016-10-20 12:06:39 | [diff] [blame] | 40 | ":audio_frame_manipulator", |
kwiberg | 529662a | 2017-09-04 12:43:17 | [diff] [blame] | 41 | "../../api:array_view", |
Doudou Kisabaka | fe6595f | 2021-05-18 09:50:01 | [diff] [blame] | 42 | "../../api:rtp_packet_info", |
Mirko Bonadei | d970807 | 2019-01-25 19:26:48 | [diff] [blame] | 43 | "../../api:scoped_refptr", |
Alex Loiko | 8396e34 | 2018-06-21 10:04:05 | [diff] [blame] | 44 | "../../api/audio:audio_frame_api", |
Gustaf Ullberg | 2ae140a | 2018-02-16 12:43:49 | [diff] [blame] | 45 | "../../api/audio:audio_mixer_api", |
Florent Castelli | 0afde76 | 2024-04-19 15:07:08 | [diff] [blame] | 46 | "../../api/audio:audio_processing", |
| 47 | "../../api/audio:audio_processing", |
aleloi | 6321b49 | 2016-12-05 09:46:09 | [diff] [blame] | 48 | "../../audio/utility:audio_frame_operations", |
Alex Loiko | 507e8d1 | 2018-02-27 12:51:47 | [diff] [blame] | 49 | "../../common_audio", |
Patrik Höglund | a8005cf | 2017-12-13 15:05:42 | [diff] [blame] | 50 | "../../rtc_base:checks", |
Olga Sharonova | 2d0ba28 | 2022-09-27 13:22:34 | [diff] [blame] | 51 | "../../rtc_base:event_tracer", |
Florent Castelli | 0af55ba | 2022-04-04 13:06:30 | [diff] [blame] | 52 | "../../rtc_base:logging", |
Florent Castelli | 4467ad7 | 2022-04-04 13:18:46 | [diff] [blame] | 53 | "../../rtc_base:macromagic", |
Florent Castelli | f4db351 | 2022-04-14 11:38:05 | [diff] [blame] | 54 | "../../rtc_base:race_checker", |
Florent Castelli | f86f6f9 | 2022-04-05 00:54:12 | [diff] [blame] | 55 | "../../rtc_base:refcount", |
Doudou Kisabaka | dbf13e3 | 2021-05-17 12:15:58 | [diff] [blame] | 56 | "../../rtc_base:safe_conversions", |
Markus Handell | 0df0fae | 2020-07-07 13:53:34 | [diff] [blame] | 57 | "../../rtc_base/synchronization:mutex", |
aleloi | 77ad394 | 2016-07-04 13:33:02 | [diff] [blame] | 58 | "../../system_wrappers", |
Mirko Bonadei | 17f4878 | 2018-09-28 06:51:10 | [diff] [blame] | 59 | "../../system_wrappers:metrics", |
Alex Loiko | 507e8d1 | 2018-02-27 12:51:47 | [diff] [blame] | 60 | "../audio_processing:apm_logging", |
| 61 | "../audio_processing:audio_frame_view", |
Alex Loiko | 2bac896 | 2018-03-27 11:38:36 | [diff] [blame] | 62 | "../audio_processing/agc2:fixed_digital", |
aleloi | 201dfe9 | 2016-10-20 12:06:39 | [diff] [blame] | 63 | ] |
| 64 | } |
| 65 | |
Mirko Bonadei | 86d053c | 2019-10-17 19:32:04 | [diff] [blame] | 66 | rtc_library("audio_frame_manipulator") { |
aleloi | 201dfe9 | 2016-10-20 12:06:39 | [diff] [blame] | 67 | visibility = [ |
| 68 | ":*", |
| 69 | "../../modules:*", |
| 70 | ] |
| 71 | |
| 72 | sources = [ |
| 73 | "audio_frame_manipulator.cc", |
| 74 | "audio_frame_manipulator.h", |
| 75 | ] |
| 76 | |
| 77 | deps = [ |
Fredrik Solenberg | bbf21a3 | 2018-04-12 20:44:09 | [diff] [blame] | 78 | "../../api/audio:audio_frame_api", |
Mirko Bonadei | 5e849cf | 2017-12-05 07:02:53 | [diff] [blame] | 79 | "../../audio/utility:audio_frame_operations", |
Patrik Höglund | a8005cf | 2017-12-13 15:05:42 | [diff] [blame] | 80 | "../../rtc_base:checks", |
aleloi | 77ad394 | 2016-07-04 13:33:02 | [diff] [blame] | 81 | ] |
| 82 | } |
ehmaldonado | 3626865 | 2017-01-19 16:27:11 | [diff] [blame] | 83 | |
| 84 | if (rtc_include_tests) { |
Mirko Bonadei | 86d053c | 2019-10-17 19:32:04 | [diff] [blame] | 85 | rtc_library("audio_mixer_test_utils") { |
ehmaldonado | 3626865 | 2017-01-19 16:27:11 | [diff] [blame] | 86 | testonly = true |
kjellander | e0629c0 | 2017-04-25 11:04:50 | [diff] [blame] | 87 | |
ehmaldonado | 3626865 | 2017-01-19 16:27:11 | [diff] [blame] | 88 | sources = [ |
aleloi | 2c9306e | 2017-03-29 11:25:16 | [diff] [blame] | 89 | "gain_change_calculator.cc", |
| 90 | "gain_change_calculator.h", |
| 91 | "sine_wave_generator.cc", |
| 92 | "sine_wave_generator.h", |
ehmaldonado | 3626865 | 2017-01-19 16:27:11 | [diff] [blame] | 93 | ] |
Alex Loiko | 507e8d1 | 2018-02-27 12:51:47 | [diff] [blame] | 94 | |
ehmaldonado | 3626865 | 2017-01-19 16:27:11 | [diff] [blame] | 95 | deps = [ |
| 96 | ":audio_frame_manipulator", |
| 97 | ":audio_mixer_impl", |
kwiberg | 529662a | 2017-09-04 12:43:17 | [diff] [blame] | 98 | "../../api:array_view", |
Fredrik Solenberg | bbf21a3 | 2018-04-12 20:44:09 | [diff] [blame] | 99 | "../../api/audio:audio_frame_api", |
Henrik Boström | d2c336f | 2019-07-03 15:11:10 | [diff] [blame] | 100 | "../../rtc_base:checks", |
Florent Castelli | e10a9f6 | 2022-04-04 15:04:37 | [diff] [blame] | 101 | "../../rtc_base:safe_conversions", |
Henrik Boström | d2c336f | 2019-07-03 15:11:10 | [diff] [blame] | 102 | ] |
| 103 | } |
| 104 | |
Mirko Bonadei | 86d053c | 2019-10-17 19:32:04 | [diff] [blame] | 105 | rtc_library("audio_mixer_unittests") { |
Henrik Boström | d2c336f | 2019-07-03 15:11:10 | [diff] [blame] | 106 | testonly = true |
| 107 | |
| 108 | sources = [ |
| 109 | "audio_frame_manipulator_unittest.cc", |
| 110 | "audio_mixer_impl_unittest.cc", |
| 111 | "frame_combiner_unittest.cc", |
| 112 | ] |
Henrik Boström | d2c336f | 2019-07-03 15:11:10 | [diff] [blame] | 113 | deps = [ |
| 114 | ":audio_frame_manipulator", |
| 115 | ":audio_mixer_impl", |
| 116 | ":audio_mixer_test_utils", |
| 117 | "../../api:array_view", |
Doudou Kisabaka | fe6595f | 2021-05-18 09:50:01 | [diff] [blame] | 118 | "../../api:rtp_packet_info", |
Gustaf Ullberg | 2ae140a | 2018-02-16 12:43:49 | [diff] [blame] | 119 | "../../api/audio:audio_mixer_api", |
Doudou Kisabaka | fe6595f | 2021-05-18 09:50:01 | [diff] [blame] | 120 | "../../api/units:timestamp", |
aleloi | 2c9306e | 2017-03-29 11:25:16 | [diff] [blame] | 121 | "../../audio/utility:audio_frame_operations", |
Patrik Höglund | a8005cf | 2017-12-13 15:05:42 | [diff] [blame] | 122 | "../../rtc_base:checks", |
Florent Castelli | 57aa81b | 2022-04-04 15:14:02 | [diff] [blame] | 123 | "../../rtc_base:stringutils", |
Danil Chapovalov | d26a916 | 2019-03-19 17:08:37 | [diff] [blame] | 124 | "../../rtc_base:task_queue_for_test", |
Fredrik Hernqvist | 79ea89e | 2023-04-12 14:31:53 | [diff] [blame] | 125 | "../../system_wrappers:metrics", |
ehmaldonado | 3626865 | 2017-01-19 16:27:11 | [diff] [blame] | 126 | "../../test:test_support", |
Florent Castelli | 99c519b | 2024-05-23 11:21:53 | [diff] [blame] | 127 | "//third_party/abseil-cpp/absl/types:optional", |
ehmaldonado | 3626865 | 2017-01-19 16:27:11 | [diff] [blame] | 128 | ] |
ehmaldonado | 3626865 | 2017-01-19 16:27:11 | [diff] [blame] | 129 | } |
Alex Loiko | 99a2c5d | 2018-02-27 13:09:47 | [diff] [blame] | 130 | |
Andrey Logvin | e7c79fd | 2021-02-01 09:56:37 | [diff] [blame] | 131 | if (!build_with_chromium) { |
| 132 | rtc_executable("audio_mixer_test") { |
| 133 | testonly = true |
| 134 | sources = [ "audio_mixer_test.cc" ] |
Alex Loiko | 99a2c5d | 2018-02-27 13:09:47 | [diff] [blame] | 135 | |
Andrey Logvin | e7c79fd | 2021-02-01 09:56:37 | [diff] [blame] | 136 | deps = [ |
| 137 | ":audio_mixer_impl", |
| 138 | "../../api/audio:audio_mixer_api", |
| 139 | "../../common_audio", |
| 140 | "../../rtc_base:stringutils", |
| 141 | "//third_party/abseil-cpp/absl/flags:flag", |
| 142 | "//third_party/abseil-cpp/absl/flags:parse", |
| 143 | ] |
| 144 | } |
Alex Loiko | 99a2c5d | 2018-02-27 13:09:47 | [diff] [blame] | 145 | } |
ehmaldonado | 3626865 | 2017-01-19 16:27:11 | [diff] [blame] | 146 | } |