blob: 25c782bc9b9664ad6393df15ce389b8912536bd5 [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
ehmaldonado38a21322016-09-02 04:10:34 -07009import("../../build/webrtc.gni")
10
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",
24 "output_rate_calculator.h",
aleloi77ad3942016-07-04 06:33:02 -070025 ]
26
aleloi44968092016-08-08 10:18:58 -070027 public = [
aleloi201dfe92016-10-20 05:06:39 -070028 "audio_mixer_impl.h",
aleloi44968092016-08-08 10:18:58 -070029 ]
30
aleloi201dfe92016-10-20 05:06:39 -070031 public_deps = [
32 "../../api:audio_mixer_api",
33 ]
aleloi77ad3942016-07-04 06:33:02 -070034
aleloi77ad3942016-07-04 06:33:02 -070035 deps = [
aleloi201dfe92016-10-20 05:06:39 -070036 ":audio_frame_manipulator",
aleloi70f866c2016-08-16 02:15:49 -070037 "../..:webrtc_common",
aleloi6321b492016-12-05 01:46:09 -080038 "../../audio/utility:audio_frame_operations",
aleloi8b2233f2016-07-28 06:24:14 -070039 "../../base:rtc_base_approved",
aleloi77ad3942016-07-04 06:33:02 -070040 "../../system_wrappers",
aleloi6321b492016-12-05 01:46:09 -080041 "../audio_processing",
aleloi201dfe92016-10-20 05:06:39 -070042 ]
43}
44
45rtc_static_library("audio_frame_manipulator") {
46 visibility = [
47 ":*",
48 "../../modules:*",
49 ]
50
51 sources = [
52 "audio_frame_manipulator.cc",
53 "audio_frame_manipulator.h",
54 ]
55
56 deps = [
aleloi6321b492016-12-05 01:46:09 -080057 "../../audio/utility",
aleloi201dfe92016-10-20 05:06:39 -070058 "../../base:rtc_base_approved",
aleloi77ad3942016-07-04 06:33:02 -070059 ]
60}
ehmaldonado36268652017-01-19 08:27:11 -080061
62if (rtc_include_tests) {
63 rtc_source_set("audio_mixer_unittests") {
64 # When enabled, fails with error audio_mixer_impl_unittest.cc includes a
65 # private header. Fie default_output_rate_calculator.h is private to the
66 # target :audio_mixer_impl
67 check_includes = false
68 testonly = true
69 sources = [
70 "audio_frame_manipulator_unittest.cc",
71 "audio_mixer_impl_unittest.cc",
72 ]
73 deps = [
74 ":audio_frame_manipulator",
75 ":audio_mixer_impl",
76 "../../api:audio_mixer_api",
77 "../../base:rtc_base",
78 "../../base:rtc_base_approved",
79 "../../test:test_support",
80 "//testing/gmock",
81 ]
82
83 # TODO(jschuh): bugs.webrtc.org/1348: fix this warning.
84 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
85 if (!build_with_chromium && is_clang) {
86 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
87 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
88 }
89 }
90}