blob: d7e94615f081991f9707af78d2dcdb9499a0ad5f [file] [log] [blame]
Steven Moreland25a9e552017-04-17 14:30:39 -07001cc_library_headers {
2 name: "libaudioclient_headers",
3 vendor_available: true,
Jooyung Hane3cf41a2020-04-30 04:22:22 +09004 min_sdk_version: "29",
5
jiabin43810402019-10-24 14:58:31 -07006 header_libs: [
7 "libaudiofoundation_headers",
8 ],
9 export_include_dirs: [
10 "include",
11 ],
12 export_header_lib_headers: [
13 "libaudiofoundation_headers",
14 ],
S Vasudev Prasad43a18892020-05-09 12:52:58 +053015 host_supported: true,
16 target: {
17 darwin: {
18 enabled: false,
19 },
20 },
Steven Moreland25a9e552017-04-17 14:30:39 -070021}
22
Jack Hed92d34e2016-12-08 15:44:14 -080023cc_library_shared {
François Gaffied0ba9ed2018-11-05 11:50:42 +010024 name: "libaudiopolicy",
25 srcs: [
26 "AudioAttributes.cpp",
27 "AudioPolicy.cpp",
28 "AudioProductStrategy.cpp",
François Gaffie4b2018b2018-11-07 11:18:59 +010029 "AudioVolumeGroup.cpp",
François Gaffied0ba9ed2018-11-05 11:50:42 +010030 ],
31 shared_libs: [
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070032 "capture_state_listener-aidl-cpp",
jiabin05b5edd2019-11-04 14:10:42 -080033 "libaudiofoundation",
François Gaffied0ba9ed2018-11-05 11:50:42 +010034 "libaudioutils",
35 "libbinder",
36 "libcutils",
37 "liblog",
38 "libutils",
39 ],
40 cflags: [
41 "-Werror",
42 "-Wall",
43 ],
44 include_dirs: ["system/media/audio_utils/include"],
45 export_include_dirs: ["include"],
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070046 export_shared_lib_headers: [
47 "capture_state_listener-aidl-cpp",
48 ],
François Gaffied0ba9ed2018-11-05 11:50:42 +010049}
50
51cc_library_shared {
Jack Hed92d34e2016-12-08 15:44:14 -080052 name: "libaudioclient",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070053
54 aidl: {
55 export_aidl_headers: true,
56 local_include_dirs: ["aidl"],
57 include_dirs: [
58 "frameworks/av/media/libaudioclient/aidl",
59 ],
60 },
61
Jack Hed92d34e2016-12-08 15:44:14 -080062 srcs: [
Ivan Lozanoff6900d2017-08-01 15:47:38 -070063 // AIDL files for audioclient interfaces
64 // The headers for these interfaces will be available to any modules that
65 // include libaudioclient, at the path "aidl/package/path/BnFoo.h"
jiabinf6eb4c32020-02-25 14:06:25 -080066 ":libaudioclient_aidl_callback",
Dan Willemsenfaeab0f2018-09-14 21:17:46 -070067 ":libaudioclient_aidl_private",
Colin Cross6bf135b2017-11-14 13:05:37 -080068 ":libaudioclient_aidl",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070069
Jack Hed92d34e2016-12-08 15:44:14 -080070 "AudioEffect.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080071 "AudioRecord.cpp",
72 "AudioSystem.cpp",
73 "AudioTrack.cpp",
74 "AudioTrackShared.cpp",
75 "IAudioFlinger.cpp",
76 "IAudioFlingerClient.cpp",
77 "IAudioPolicyService.cpp",
78 "IAudioPolicyServiceClient.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080079 "IAudioTrack.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080080 "ToneGenerator.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070081 "PlayerBase.cpp",
Mikhail Naganov2996f672019-04-18 12:29:59 -070082 "RecordingActivityTracker.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070083 "TrackPlayerBase.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080084 ],
85 shared_libs: [
Ytai Ben-Tsvi85093d52020-03-26 09:41:15 -070086 "capture_state_listener-aidl-cpp",
jiabin43810402019-10-24 14:58:31 -070087 "libaudiofoundation",
Kevin Rocard07be14f2018-01-24 06:14:03 +000088 "libaudioutils",
François Gaffied0ba9ed2018-11-05 11:50:42 +010089 "libaudiopolicy",
Eric Laurentb5323222017-05-31 15:01:56 -070090 "libaudiomanager",
Eric Tanace588c2018-09-12 11:44:43 -070091 "libbinder",
92 "libcutils",
93 "libdl",
94 "liblog",
Ray Essicked304702017-12-12 14:00:57 -080095 "libmedia_helper",
96 "libmediametrics",
Andy Hung4ef19fa2018-05-15 19:35:29 -070097 "libmediautils",
Eric Tanace588c2018-09-12 11:44:43 -070098 "libnblog",
Suren Baghdasaryan7435e7d2018-12-19 17:09:28 -080099 "libprocessgroup",
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700100 "libshmemcompat",
Eric Tanace588c2018-09-12 11:44:43 -0700101 "libutils",
jiabinbf6b0ec2019-02-12 12:30:12 -0800102 "libvibrator",
Jack Hed92d34e2016-12-08 15:44:14 -0800103 ],
104 export_shared_lib_headers: ["libbinder"],
Steven Moreland25a9e552017-04-17 14:30:39 -0700105
Marco Nelissena51151a2020-01-07 13:37:47 -0800106 include_dirs: [
107 "frameworks/av/media/libnbaio/include_mono/",
108 ],
109 local_include_dirs: [
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700110 "include/media",
111 "aidl",
Marco Nelissena51151a2020-01-07 13:37:47 -0800112 ],
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700113 header_libs: [
114 "libaudioclient_headers",
115 "libbase_headers",
Marco Nelissen6b285942019-10-21 14:52:30 -0700116 "libmedia_headers",
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700117 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700118 export_header_lib_headers: ["libaudioclient_headers"],
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700119 export_static_lib_headers: [
120 "effect-aidl-cpp",
Jeongik Chabde90a42020-08-29 02:09:08 +0900121 "shared-file-region-aidl-unstable-cpp",
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700122 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700123
Jack Hed92d34e2016-12-08 15:44:14 -0800124 static_libs: [
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700125 "effect-aidl-cpp",
126 // for memory heap analysis
Jack Hed92d34e2016-12-08 15:44:14 -0800127 "libc_malloc_debug_backtrace",
Jeongik Chabde90a42020-08-29 02:09:08 +0900128 "shared-file-region-aidl-unstable-cpp",
Jack Hed92d34e2016-12-08 15:44:14 -0800129 ],
130 cflags: [
Steven Moreland25a9e552017-04-17 14:30:39 -0700131 "-Wall",
Jack Hed92d34e2016-12-08 15:44:14 -0800132 "-Werror",
133 "-Wno-error=deprecated-declarations",
Jack Hed92d34e2016-12-08 15:44:14 -0800134 ],
135 sanitize: {
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700136 misc_undefined: [
Jack Hed92d34e2016-12-08 15:44:14 -0800137 "unsigned-integer-overflow",
138 "signed-integer-overflow",
139 ],
140 },
141}
Colin Cross6bf135b2017-11-14 13:05:37 -0800142
143// AIDL interface between libaudioclient and framework.jar
144filegroup {
145 name: "libaudioclient_aidl",
146 srcs: [
147 "aidl/android/media/IPlayer.aidl",
148 ],
Dan Willemsenfaeab0f2018-09-14 21:17:46 -0700149 path: "aidl",
150}
151
152// Used to strip the "aidl/" from the path, so the build system can predict the
153// output filename.
154filegroup {
155 name: "libaudioclient_aidl_private",
156 srcs: [
157 "aidl/android/media/IAudioRecord.aidl",
158 ],
159 path: "aidl",
Colin Cross6bf135b2017-11-14 13:05:37 -0800160}
jiabinf6eb4c32020-02-25 14:06:25 -0800161
162// AIDL interface for audio track callback
163filegroup {
164 name: "libaudioclient_aidl_callback",
165 srcs: [
166 "aidl/android/media/IAudioTrackCallback.aidl",
167 ],
168 path: "aidl",
169}
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700170
171aidl_interface {
172 name: "capture_state_listener-aidl",
Jiyong Park1f2151f2020-04-13 12:52:14 +0900173 unstable: true,
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700174 local_include_dir: "aidl",
175 srcs: [
176 "aidl/android/media/ICaptureStateListener.aidl",
177 ],
178}
Ytai Ben-Tsvi9cd89812020-07-01 17:12:06 -0700179
180aidl_interface {
181 name: "effect-aidl",
182 unstable: true,
183 local_include_dir: "aidl",
184 srcs: [
185 "aidl/android/media/IEffect.aidl",
186 "aidl/android/media/IEffectClient.aidl",
187 ],
188 imports: [
189 "shared-file-region-aidl",
190 ],
191}