blob: 4762b630d5037b1e0cc9673938bf35c1569134a5 [file] [log] [blame]
Steven Moreland25a9e552017-04-17 14:30:39 -07001cc_library_headers {
2 name: "libaudioclient_headers",
3 vendor_available: true,
jiabin43810402019-10-24 14:58:31 -07004 header_libs: [
5 "libaudiofoundation_headers",
6 ],
7 export_include_dirs: [
8 "include",
9 ],
10 export_header_lib_headers: [
11 "libaudiofoundation_headers",
12 ],
Steven Moreland25a9e552017-04-17 14:30:39 -070013}
14
Jack Hed92d34e2016-12-08 15:44:14 -080015cc_library_shared {
François Gaffied0ba9ed2018-11-05 11:50:42 +010016 name: "libaudiopolicy",
17 srcs: [
18 "AudioAttributes.cpp",
19 "AudioPolicy.cpp",
20 "AudioProductStrategy.cpp",
François Gaffie4b2018b2018-11-07 11:18:59 +010021 "AudioVolumeGroup.cpp",
François Gaffied0ba9ed2018-11-05 11:50:42 +010022 ],
23 shared_libs: [
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070024 "capture_state_listener-aidl-cpp",
jiabin05b5edd2019-11-04 14:10:42 -080025 "libaudiofoundation",
François Gaffied0ba9ed2018-11-05 11:50:42 +010026 "libaudioutils",
27 "libbinder",
28 "libcutils",
29 "liblog",
30 "libutils",
31 ],
32 cflags: [
33 "-Werror",
34 "-Wall",
35 ],
36 include_dirs: ["system/media/audio_utils/include"],
37 export_include_dirs: ["include"],
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -070038 export_shared_lib_headers: [
39 "capture_state_listener-aidl-cpp",
40 ],
François Gaffied0ba9ed2018-11-05 11:50:42 +010041}
42
43cc_library_shared {
Jack Hed92d34e2016-12-08 15:44:14 -080044 name: "libaudioclient",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070045
46 aidl: {
47 export_aidl_headers: true,
48 local_include_dirs: ["aidl"],
49 include_dirs: [
50 "frameworks/av/media/libaudioclient/aidl",
51 ],
52 },
53
Jack Hed92d34e2016-12-08 15:44:14 -080054 srcs: [
Ivan Lozanoff6900d2017-08-01 15:47:38 -070055 // AIDL files for audioclient interfaces
56 // The headers for these interfaces will be available to any modules that
57 // include libaudioclient, at the path "aidl/package/path/BnFoo.h"
jiabinf6eb4c32020-02-25 14:06:25 -080058 ":libaudioclient_aidl_callback",
Dan Willemsenfaeab0f2018-09-14 21:17:46 -070059 ":libaudioclient_aidl_private",
Colin Cross6bf135b2017-11-14 13:05:37 -080060 ":libaudioclient_aidl",
Ivan Lozanoff6900d2017-08-01 15:47:38 -070061
Jack Hed92d34e2016-12-08 15:44:14 -080062 "AudioEffect.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080063 "AudioRecord.cpp",
64 "AudioSystem.cpp",
65 "AudioTrack.cpp",
66 "AudioTrackShared.cpp",
67 "IAudioFlinger.cpp",
68 "IAudioFlingerClient.cpp",
69 "IAudioPolicyService.cpp",
70 "IAudioPolicyServiceClient.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080071 "IAudioTrack.cpp",
72 "IEffect.cpp",
73 "IEffectClient.cpp",
74 "ToneGenerator.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070075 "PlayerBase.cpp",
Mikhail Naganov2996f672019-04-18 12:29:59 -070076 "RecordingActivityTracker.cpp",
Eric Laurentb5323222017-05-31 15:01:56 -070077 "TrackPlayerBase.cpp",
Jack Hed92d34e2016-12-08 15:44:14 -080078 ],
79 shared_libs: [
Ytai Ben-Tsvi85093d52020-03-26 09:41:15 -070080 "capture_state_listener-aidl-cpp",
jiabin43810402019-10-24 14:58:31 -070081 "libaudiofoundation",
Kevin Rocard07be14f2018-01-24 06:14:03 +000082 "libaudioutils",
François Gaffied0ba9ed2018-11-05 11:50:42 +010083 "libaudiopolicy",
Eric Laurentb5323222017-05-31 15:01:56 -070084 "libaudiomanager",
Eric Tanace588c2018-09-12 11:44:43 -070085 "libbinder",
86 "libcutils",
87 "libdl",
88 "liblog",
Ray Essicked304702017-12-12 14:00:57 -080089 "libmedia_helper",
90 "libmediametrics",
Andy Hung4ef19fa2018-05-15 19:35:29 -070091 "libmediautils",
Eric Tanace588c2018-09-12 11:44:43 -070092 "libnblog",
Suren Baghdasaryan7435e7d2018-12-19 17:09:28 -080093 "libprocessgroup",
Eric Tanace588c2018-09-12 11:44:43 -070094 "libutils",
jiabinbf6b0ec2019-02-12 12:30:12 -080095 "libvibrator",
Jack Hed92d34e2016-12-08 15:44:14 -080096 ],
97 export_shared_lib_headers: ["libbinder"],
Steven Moreland25a9e552017-04-17 14:30:39 -070098
Marco Nelissena51151a2020-01-07 13:37:47 -080099 include_dirs: [
100 "frameworks/av/media/libnbaio/include_mono/",
101 ],
102 local_include_dirs: [
103 "include/media", "aidl"
104 ],
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700105 header_libs: [
106 "libaudioclient_headers",
107 "libbase_headers",
Marco Nelissen6b285942019-10-21 14:52:30 -0700108 "libmedia_headers",
Chih-Hung Hsiehffe35582018-09-13 13:59:28 -0700109 ],
Steven Moreland25a9e552017-04-17 14:30:39 -0700110 export_header_lib_headers: ["libaudioclient_headers"],
111
Jack Hed92d34e2016-12-08 15:44:14 -0800112 // for memory heap analysis
113 static_libs: [
114 "libc_malloc_debug_backtrace",
Jack Hed92d34e2016-12-08 15:44:14 -0800115 ],
116 cflags: [
Steven Moreland25a9e552017-04-17 14:30:39 -0700117 "-Wall",
Jack Hed92d34e2016-12-08 15:44:14 -0800118 "-Werror",
119 "-Wno-error=deprecated-declarations",
Jack Hed92d34e2016-12-08 15:44:14 -0800120 ],
121 sanitize: {
122 misc_undefined : [
123 "unsigned-integer-overflow",
124 "signed-integer-overflow",
125 ],
126 },
127}
Colin Cross6bf135b2017-11-14 13:05:37 -0800128
129// AIDL interface between libaudioclient and framework.jar
130filegroup {
131 name: "libaudioclient_aidl",
132 srcs: [
133 "aidl/android/media/IPlayer.aidl",
134 ],
Dan Willemsenfaeab0f2018-09-14 21:17:46 -0700135 path: "aidl",
136}
137
138// Used to strip the "aidl/" from the path, so the build system can predict the
139// output filename.
140filegroup {
141 name: "libaudioclient_aidl_private",
142 srcs: [
143 "aidl/android/media/IAudioRecord.aidl",
144 ],
145 path: "aidl",
Colin Cross6bf135b2017-11-14 13:05:37 -0800146}
jiabinf6eb4c32020-02-25 14:06:25 -0800147
148// AIDL interface for audio track callback
149filegroup {
150 name: "libaudioclient_aidl_callback",
151 srcs: [
152 "aidl/android/media/IAudioTrackCallback.aidl",
153 ],
154 path: "aidl",
155}
Ytai Ben-Tsvi987d12c2020-03-24 17:35:44 -0700156
157aidl_interface {
158 name: "capture_state_listener-aidl",
159 local_include_dir: "aidl",
160 srcs: [
161 "aidl/android/media/ICaptureStateListener.aidl",
162 ],
163}