blob: cd3b768ee1f992ed444b05a9c0785c64fe448a60 [file] [log] [blame]
aleloi77ad3942016-07-04 06:33:02 -07001# 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
mbonadei9aa3f0a2017-01-24 06:58:22 -08009import("../../webrtc.gni")
ehmaldonado38a21322016-09-02 04:10:34 -070010
kjellander6ceab082016-10-28 05:44:03 -070011group("audio_mixer") {
12 public_deps = [
13 ":audio_frame_manipulator",
14 ":audio_mixer_impl",
15 ]
16}
17
aleloi201dfe92016-10-20 05:06:39 -070018rtc_static_library("audio_mixer_impl") {
aleloi77ad3942016-07-04 06:33:02 -070019 sources = [
aleloi5d167d62016-08-24 02:20:54 -070020 "audio_mixer_impl.cc",
21 "audio_mixer_impl.h",
aleloi623427c2016-12-08 02:37:58 -080022 "default_output_rate_calculator.cc",
23 "default_output_rate_calculator.h",
aleloi24899e52017-02-21 05:06:29 -080024 "frame_combiner.cc",
25 "frame_combiner.h",
aleloi623427c2016-12-08 02:37:58 -080026 "output_rate_calculator.h",
aleloi77ad3942016-07-04 06:33:02 -070027 ]
28
aleloi44968092016-08-08 10:18:58 -070029 public = [
aleloi201dfe92016-10-20 05:06:39 -070030 "audio_mixer_impl.h",
aleloi24899e52017-02-21 05:06:29 -080031 "default_output_rate_calculator.h", # For creating a mixer with limiter disabled.
32 "frame_combiner.h",
aleloi44968092016-08-08 10:18:58 -070033 ]
34
aleloi201dfe92016-10-20 05:06:39 -070035 public_deps = [
36 "../../api:audio_mixer_api",
37 ]
aleloi77ad3942016-07-04 06:33:02 -070038
aleloi77ad3942016-07-04 06:33:02 -070039 deps = [
aleloi201dfe92016-10-20 05:06:39 -070040 ":audio_frame_manipulator",
mbonadei1140f972017-04-26 03:38:35 -070041 "..:module_api",
aleloi70f866c2016-08-16 02:15:49 -070042 "../..:webrtc_common",
aleloi6321b492016-12-05 01:46:09 -080043 "../../audio/utility:audio_frame_operations",
aleloi8b2233f2016-07-28 06:24:14 -070044 "../../base:rtc_base_approved",
aleloi77ad3942016-07-04 06:33:02 -070045 "../../system_wrappers",
aleloi6321b492016-12-05 01:46:09 -080046 "../audio_processing",
aleloi201dfe92016-10-20 05:06:39 -070047 ]
48}
49
50rtc_static_library("audio_frame_manipulator") {
51 visibility = [
52 ":*",
53 "../../modules:*",
54 ]
55
56 sources = [
57 "audio_frame_manipulator.cc",
58 "audio_frame_manipulator.h",
59 ]
60
61 deps = [
mbonadei1140f972017-04-26 03:38:35 -070062 "..:module_api",
aleloi6321b492016-12-05 01:46:09 -080063 "../../audio/utility",
aleloi201dfe92016-10-20 05:06:39 -070064 "../../base:rtc_base_approved",
aleloi77ad3942016-07-04 06:33:02 -070065 ]
66}
ehmaldonado36268652017-01-19 08:27:11 -080067
68if (rtc_include_tests) {
69 rtc_source_set("audio_mixer_unittests") {
ehmaldonado36268652017-01-19 08:27:11 -080070 testonly = true
kjellandere0629c02017-04-25 04:04:50 -070071
72 # Skip restricting visibility on mobile platforms since the tests on those
73 # gets additional generated targets which would require many lines here to
74 # cover (which would be confusing to read and hard to maintain).
75 if (!is_android && !is_ios) {
76 visibility = [ "//webrtc/modules:modules_unittests" ]
77 }
ehmaldonado36268652017-01-19 08:27:11 -080078 sources = [
79 "audio_frame_manipulator_unittest.cc",
80 "audio_mixer_impl_unittest.cc",
aleloi24899e52017-02-21 05:06:29 -080081 "frame_combiner_unittest.cc",
aleloi2c9306e2017-03-29 04:25:16 -070082 "gain_change_calculator.cc",
83 "gain_change_calculator.h",
84 "sine_wave_generator.cc",
85 "sine_wave_generator.h",
ehmaldonado36268652017-01-19 08:27:11 -080086 ]
87 deps = [
88 ":audio_frame_manipulator",
89 ":audio_mixer_impl",
mbonadei1140f972017-04-26 03:38:35 -070090 "..:module_api",
ehmaldonado36268652017-01-19 08:27:11 -080091 "../../api:audio_mixer_api",
aleloi2c9306e2017-03-29 04:25:16 -070092 "../../audio/utility:audio_frame_operations",
ehmaldonado36268652017-01-19 08:27:11 -080093 "../../base:rtc_base",
94 "../../base:rtc_base_approved",
95 "../../test:test_support",
96 "//testing/gmock",
97 ]
ehmaldonado36268652017-01-19 08:27:11 -080098 }
99}