blob: 0c40cbb1a34cfbc03f3f96c3b73c1878539232c8 [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 ],
Steven Moreland25a9e552017-04-17 14:30:39 -070015}
16
Jack Hed92d34e2016-12-08 15:44:14 -080017cc_library_shared {
François Gaffied0ba9ed2018-11-05 11:50:42 +010018 name: "libaudiopolicy",
19 srcs: [
20 "AudioAttributes.cpp",
21 "AudioPolicy.cpp",
22 "AudioProductStrategy.cpp",
François Gaffie4b2018b2018-11-07 11:18:59 +010023 "AudioVolumeGroup.cpp",
François Gaffied0ba9ed2018-11-05 11:50:42 +010024 ],
25 shared_libs: [
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070026 "capture_state_listener-aidl-cpp",
jiabin05b5edd2019-11-04 14:10:42 -080027 "libaudiofoundation",
François Gaffied0ba9ed2018-11-05 11:50:42 +010028 "libaudioutils",
29 "libbinder",
30 "libcutils",
31 "liblog",
32 "libutils",
33 ],
34 cflags: [
35 "-Werror",
36 "-Wall",
37 ],
38 include_dirs: ["system/media/audio_utils/include"],
39 export_include_dirs: ["include"],
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070040 export_shared_lib_headers: [
41 "capture_state_listener-aidl-cpp",
42 ],
François Gaffied0ba9ed2018-11-05 11:50:42 +010043}
44
45cc_library_shared {
Jack Hed92d34e2016-12-08 15:44:14 -080046 name: "libaudioclient",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070047
48 aidl: {
49 export_aidl_headers: true,
50 local_include_dirs: ["aidl"],
51 include_dirs: [
52 "frameworks/av/media/libaudioclient/aidl",
53 ],
54 },
55
Jack Hed92d34e2016-12-08 15:44:14 -080056 srcs: [
Ivan Lozanoff6900d2017-08-01 15:47:38 -070057 // AIDL files for audioclient interfaces
58 // The headers for these interfaces will be available to any modules that
59 // include libaudioclient, at the path "aidl/package/path/BnFoo.h"
jiabinf6eb4c32020-02-25 14:06:25 -080060 ":libaudioclient_aidl_callback",
Dan Willemsenfaeab0f2018-09-14 21:17:46 -070061 ":libaudioclient_aidl_private",
Colin Cross6bf135b2017-11-14 13:05:37 -080062 ":libaudioclient_aidl",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070063
Jack Hed92d34e2016-12-08 15:44:14 -080064 "AudioEffect.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080065 "AudioRecord.cpp",
66 "AudioSystem.cpp",
67 "AudioTrack.cpp",
68 "AudioTrackShared.cpp",
69 "IAudioFlinger.cpp",
70 "IAudioFlingerClient.cpp",
71 "IAudioPolicyService.cpp",
72 "IAudioPolicyServiceClient.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080073 "IAudioTrack.cpp",
74 "IEffect.cpp",
75 "IEffectClient.cpp",
76 "ToneGenerator.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070077 "PlayerBase.cpp",
Mikhail Naganov2996f672019-04-18 12:29:59 -070078 "RecordingActivityTracker.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070079 "TrackPlayerBase.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080080 ],
81 shared_libs: [
Ytai Ben-Tsvi85093d52020-03-26 09:41:15 -070082 "capture_state_listener-aidl-cpp",
jiabin43810402019-10-24 14:58:31 -070083 "libaudiofoundation",
Kevin Rocard07be14f2018-01-24 06:14:03 +000084 "libaudioutils",
François Gaffied0ba9ed2018-11-05 11:50:42 +010085 "libaudiopolicy",
Eric Laurentb5323222017-05-31 15:01:56 -070086 "libaudiomanager",
Eric Tanace588c2018-09-12 11:44:43 -070087 "libbinder",
88 "libcutils",
89 "libdl",
90 "liblog",
Ray Essicked304702017-12-12 14:00:57 -080091 "libmedia_helper",
92 "libmediametrics",
Andy Hung4ef19fa2018-05-15 19:35:29 -070093 "libmediautils",
Eric Tanace588c2018-09-12 11:44:43 -070094 "libnblog",
Suren Baghdasaryan7435e7d2018-12-19 17:09:28 -080095 "libprocessgroup",
Eric Tanace588c2018-09-12 11:44:43 -070096 "libutils",
jiabinbf6b0ec2019-02-12 12:30:12 -080097 "libvibrator",
Jack Hed92d34e2016-12-08 15:44:14 -080098 ],
99 export_shared_lib_headers: ["libbinder"],
Steven Moreland25a9e552017-04-17 14:30:39 -0700100
Marco Nelissena51151a2020-01-07 13:37:47 -0800101 include_dirs: [
102 "frameworks/av/media/libnbaio/include_mono/",
103 ],
104 local_include_dirs: [
105 "include/media", "aidl"
106 ],
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700107 header_libs: [
108 "libaudioclient_headers",
109 "libbase_headers",
Marco Nelissen6b285942019-10-21 14:52:30 -0700110 "libmedia_headers",
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700111 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700112 export_header_lib_headers: ["libaudioclient_headers"],
113
Jack Hed92d34e2016-12-08 15:44:14 -0800114 // for memory heap analysis
115 static_libs: [
116 "libc_malloc_debug_backtrace",
Jack Hed92d34e2016-12-08 15:44:14 -0800117 ],
118 cflags: [
Steven Moreland25a9e552017-04-17 14:30:39 -0700119 "-Wall",
Jack Hed92d34e2016-12-08 15:44:14 -0800120 "-Werror",
121 "-Wno-error=deprecated-declarations",
Jack Hed92d34e2016-12-08 15:44:14 -0800122 ],
123 sanitize: {
124 misc_undefined : [
125 "unsigned-integer-overflow",
126 "signed-integer-overflow",
127 ],
128 },
129}
Colin Cross6bf135b2017-11-14 13:05:37 -0800130
131// AIDL interface between libaudioclient and framework.jar
132filegroup {
133 name: "libaudioclient_aidl",
134 srcs: [
135 "aidl/android/media/IPlayer.aidl",
136 ],
Dan Willemsenfaeab0f2018-09-14 21:17:46 -0700137 path: "aidl",
138}
139
140// Used to strip the "aidl/" from the path, so the build system can predict the
141// output filename.
142filegroup {
143 name: "libaudioclient_aidl_private",
144 srcs: [
145 "aidl/android/media/IAudioRecord.aidl",
146 ],
147 path: "aidl",
Colin Cross6bf135b2017-11-14 13:05:37 -0800148}
jiabinf6eb4c32020-02-25 14:06:25 -0800149
150// AIDL interface for audio track callback
151filegroup {
152 name: "libaudioclient_aidl_callback",
153 srcs: [
154 "aidl/android/media/IAudioTrackCallback.aidl",
155 ],
156 path: "aidl",
157}
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700158
159aidl_interface {
160 name: "capture_state_listener-aidl",
Jiyong Park1f2151f2020-04-13 12:52:14 +0900161 unstable: true,
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700162 local_include_dir: "aidl",
163 srcs: [
164 "aidl/android/media/ICaptureStateListener.aidl",
165 ],
166}