xref: /aosp_15_r20/system/media/audio_utils/Android.bp (revision b9df5ad1c9ac98a7fefaac271a55f7ae3db05414)
1*b9df5ad1SAndroid Build Coastguard Workerpackage {
2*b9df5ad1SAndroid Build Coastguard Worker    // http://go/android-license-faq
3*b9df5ad1SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*b9df5ad1SAndroid Build Coastguard Worker    // the below license kinds from "system_media_license":
5*b9df5ad1SAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
6*b9df5ad1SAndroid Build Coastguard Worker    default_applicable_licenses: ["system_media_license"],
7*b9df5ad1SAndroid Build Coastguard Worker}
8*b9df5ad1SAndroid Build Coastguard Worker
9*b9df5ad1SAndroid Build Coastguard Workersubdirs = ["tests"]
10*b9df5ad1SAndroid Build Coastguard Worker
11*b9df5ad1SAndroid Build Coastguard Workercc_defaults {
12*b9df5ad1SAndroid Build Coastguard Worker    name: "audio_utils_defaults",
13*b9df5ad1SAndroid Build Coastguard Worker
14*b9df5ad1SAndroid Build Coastguard Worker    local_include_dirs: ["include"],
15*b9df5ad1SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
16*b9df5ad1SAndroid Build Coastguard Worker
17*b9df5ad1SAndroid Build Coastguard Worker    cflags: [
18*b9df5ad1SAndroid Build Coastguard Worker        "-Wall",
19*b9df5ad1SAndroid Build Coastguard Worker        "-Werror",
20*b9df5ad1SAndroid Build Coastguard Worker        "-Wthread-safety",
21*b9df5ad1SAndroid Build Coastguard Worker    ],
22*b9df5ad1SAndroid Build Coastguard Worker}
23*b9df5ad1SAndroid Build Coastguard Worker
24*b9df5ad1SAndroid Build Coastguard Workercc_library_headers {
25*b9df5ad1SAndroid Build Coastguard Worker    name: "libaudioutils_headers",
26*b9df5ad1SAndroid Build Coastguard Worker    host_supported: true,
27*b9df5ad1SAndroid Build Coastguard Worker    vendor_available: true,
28*b9df5ad1SAndroid Build Coastguard Worker    product_available: true,
29*b9df5ad1SAndroid Build Coastguard Worker    export_include_dirs: ["include"],
30*b9df5ad1SAndroid Build Coastguard Worker    // referenced from CTS/MTS test suite which must run on sdk 29, make sure it's compatible
31*b9df5ad1SAndroid Build Coastguard Worker    // (revisit if/when we add features to this library that require newer sdk.
32*b9df5ad1SAndroid Build Coastguard Worker    sdk_version: "29",
33*b9df5ad1SAndroid Build Coastguard Worker}
34*b9df5ad1SAndroid Build Coastguard Worker
35*b9df5ad1SAndroid Build Coastguard Workercc_library {
36*b9df5ad1SAndroid Build Coastguard Worker    name: "libaudioutils",
37*b9df5ad1SAndroid Build Coastguard Worker    vendor_available: true,
38*b9df5ad1SAndroid Build Coastguard Worker    product_available: true,
39*b9df5ad1SAndroid Build Coastguard Worker    double_loadable: true,
40*b9df5ad1SAndroid Build Coastguard Worker    host_supported: true,
41*b9df5ad1SAndroid Build Coastguard Worker    defaults: [
42*b9df5ad1SAndroid Build Coastguard Worker        "aconfig_lib_cc_static_link.defaults",
43*b9df5ad1SAndroid Build Coastguard Worker        "audio_utils_defaults",
44*b9df5ad1SAndroid Build Coastguard Worker    ],
45*b9df5ad1SAndroid Build Coastguard Worker    srcs: [
46*b9df5ad1SAndroid Build Coastguard Worker        "Balance.cpp",
47*b9df5ad1SAndroid Build Coastguard Worker        "ErrorLog.cpp",
48*b9df5ad1SAndroid Build Coastguard Worker        "MelAggregator.cpp",
49*b9df5ad1SAndroid Build Coastguard Worker        "MelProcessor.cpp",
50*b9df5ad1SAndroid Build Coastguard Worker        "Metadata.cpp",
51*b9df5ad1SAndroid Build Coastguard Worker        "PowerLog.cpp",
52*b9df5ad1SAndroid Build Coastguard Worker        "StringUtils.cpp",
53*b9df5ad1SAndroid Build Coastguard Worker        "channels.cpp",
54*b9df5ad1SAndroid Build Coastguard Worker        "fifo.cpp",
55*b9df5ad1SAndroid Build Coastguard Worker        "fifo_index.cpp",
56*b9df5ad1SAndroid Build Coastguard Worker        "fifo_writer_T.cpp",
57*b9df5ad1SAndroid Build Coastguard Worker        "format.c",
58*b9df5ad1SAndroid Build Coastguard Worker        "hal_smoothness.c",
59*b9df5ad1SAndroid Build Coastguard Worker        "limiter.c",
60*b9df5ad1SAndroid Build Coastguard Worker        "minifloat.c",
61*b9df5ad1SAndroid Build Coastguard Worker        "mono_blend.cpp",
62*b9df5ad1SAndroid Build Coastguard Worker        "mutex.cpp",
63*b9df5ad1SAndroid Build Coastguard Worker        "power.cpp",
64*b9df5ad1SAndroid Build Coastguard Worker        "primitives.c",
65*b9df5ad1SAndroid Build Coastguard Worker        "roundup.c",
66*b9df5ad1SAndroid Build Coastguard Worker        "sample.c",
67*b9df5ad1SAndroid Build Coastguard Worker        "threads.cpp",
68*b9df5ad1SAndroid Build Coastguard Worker    ],
69*b9df5ad1SAndroid Build Coastguard Worker
70*b9df5ad1SAndroid Build Coastguard Worker    header_libs: [
71*b9df5ad1SAndroid Build Coastguard Worker        "libaudio_system_headers",
72*b9df5ad1SAndroid Build Coastguard Worker        "libutils_headers",
73*b9df5ad1SAndroid Build Coastguard Worker    ],
74*b9df5ad1SAndroid Build Coastguard Worker
75*b9df5ad1SAndroid Build Coastguard Worker    export_header_lib_headers: [
76*b9df5ad1SAndroid Build Coastguard Worker        "libaudio_system_headers",
77*b9df5ad1SAndroid Build Coastguard Worker        "libutils_headers",
78*b9df5ad1SAndroid Build Coastguard Worker    ],
79*b9df5ad1SAndroid Build Coastguard Worker
80*b9df5ad1SAndroid Build Coastguard Worker    shared_libs: [
81*b9df5ad1SAndroid Build Coastguard Worker        "libcutils",
82*b9df5ad1SAndroid Build Coastguard Worker        "liblog",
83*b9df5ad1SAndroid Build Coastguard Worker        "libutils",
84*b9df5ad1SAndroid Build Coastguard Worker        "server_configurable_flags",
85*b9df5ad1SAndroid Build Coastguard Worker    ],
86*b9df5ad1SAndroid Build Coastguard Worker
87*b9df5ad1SAndroid Build Coastguard Worker    whole_static_libs: [
88*b9df5ad1SAndroid Build Coastguard Worker        "libaudioutils_fastmath",
89*b9df5ad1SAndroid Build Coastguard Worker    ],
90*b9df5ad1SAndroid Build Coastguard Worker
91*b9df5ad1SAndroid Build Coastguard Worker    target: {
92*b9df5ad1SAndroid Build Coastguard Worker        android: {
93*b9df5ad1SAndroid Build Coastguard Worker            srcs: [
94*b9df5ad1SAndroid Build Coastguard Worker                // "mono_blend.cpp",
95*b9df5ad1SAndroid Build Coastguard Worker                "echo_reference.c",
96*b9df5ad1SAndroid Build Coastguard Worker                "resampler.c",
97*b9df5ad1SAndroid Build Coastguard Worker            ],
98*b9df5ad1SAndroid Build Coastguard Worker            whole_static_libs: [
99*b9df5ad1SAndroid Build Coastguard Worker                "libaudioutils_fixedfft",
100*b9df5ad1SAndroid Build Coastguard Worker                // if libaudioutils is added as a static lib AND flags are used in the utils object,
101*b9df5ad1SAndroid Build Coastguard Worker                // then add server_configurable_flags as a shared lib.
102*b9df5ad1SAndroid Build Coastguard Worker                "com.android.media.audioserver-aconfig-cc",
103*b9df5ad1SAndroid Build Coastguard Worker            ],
104*b9df5ad1SAndroid Build Coastguard Worker            shared_libs: [
105*b9df5ad1SAndroid Build Coastguard Worker                "libspeexresampler",
106*b9df5ad1SAndroid Build Coastguard Worker            ],
107*b9df5ad1SAndroid Build Coastguard Worker        },
108*b9df5ad1SAndroid Build Coastguard Worker        host: {
109*b9df5ad1SAndroid Build Coastguard Worker            cflags: ["-D__unused=__attribute__((unused))"],
110*b9df5ad1SAndroid Build Coastguard Worker            whole_static_libs: [
111*b9df5ad1SAndroid Build Coastguard Worker                // if libaudioutils is added as a static lib AND flags are used in the utils object,
112*b9df5ad1SAndroid Build Coastguard Worker                // then add server_configurable_flags as a shared lib.
113*b9df5ad1SAndroid Build Coastguard Worker                "com.android.media.audioserver-aconfig-cc-ro",
114*b9df5ad1SAndroid Build Coastguard Worker            ],
115*b9df5ad1SAndroid Build Coastguard Worker        },
116*b9df5ad1SAndroid Build Coastguard Worker    },
117*b9df5ad1SAndroid Build Coastguard Worker    min_sdk_version: "29",
118*b9df5ad1SAndroid Build Coastguard Worker    static: {
119*b9df5ad1SAndroid Build Coastguard Worker        // library has C++ code that we don't allow across module boundaries
120*b9df5ad1SAndroid Build Coastguard Worker        // a static link avoids that cross-module peril.
121*b9df5ad1SAndroid Build Coastguard Worker        apex_available: [
122*b9df5ad1SAndroid Build Coastguard Worker            "com.android.media",
123*b9df5ad1SAndroid Build Coastguard Worker            "com.android.media.swcodec",
124*b9df5ad1SAndroid Build Coastguard Worker        ],
125*b9df5ad1SAndroid Build Coastguard Worker    },
126*b9df5ad1SAndroid Build Coastguard Worker}
127*b9df5ad1SAndroid Build Coastguard Worker
128*b9df5ad1SAndroid Build Coastguard Workercc_library_static {
129*b9df5ad1SAndroid Build Coastguard Worker    name: "libaudioutils_fastmath",
130*b9df5ad1SAndroid Build Coastguard Worker    vendor_available: true,
131*b9df5ad1SAndroid Build Coastguard Worker    product_available: true,
132*b9df5ad1SAndroid Build Coastguard Worker    double_loadable: true,
133*b9df5ad1SAndroid Build Coastguard Worker    host_supported: true,
134*b9df5ad1SAndroid Build Coastguard Worker    defaults: ["audio_utils_defaults"],
135*b9df5ad1SAndroid Build Coastguard Worker
136*b9df5ad1SAndroid Build Coastguard Worker    srcs: [
137*b9df5ad1SAndroid Build Coastguard Worker        "ChannelMix.cpp",
138*b9df5ad1SAndroid Build Coastguard Worker    ],
139*b9df5ad1SAndroid Build Coastguard Worker
140*b9df5ad1SAndroid Build Coastguard Worker    header_libs: [
141*b9df5ad1SAndroid Build Coastguard Worker        "libaudio_system_headers",
142*b9df5ad1SAndroid Build Coastguard Worker        "libutils_headers",
143*b9df5ad1SAndroid Build Coastguard Worker    ],
144*b9df5ad1SAndroid Build Coastguard Worker    min_sdk_version: "29",
145*b9df5ad1SAndroid Build Coastguard Worker    shared_libs: [
146*b9df5ad1SAndroid Build Coastguard Worker        "libcutils",
147*b9df5ad1SAndroid Build Coastguard Worker        "liblog",
148*b9df5ad1SAndroid Build Coastguard Worker        "libutils",
149*b9df5ad1SAndroid Build Coastguard Worker    ],
150*b9df5ad1SAndroid Build Coastguard Worker    cflags: [
151*b9df5ad1SAndroid Build Coastguard Worker        "-Werror",
152*b9df5ad1SAndroid Build Coastguard Worker        "-ffast-math",
153*b9df5ad1SAndroid Build Coastguard Worker        "-fhonor-infinities",
154*b9df5ad1SAndroid Build Coastguard Worker        "-fhonor-nans",
155*b9df5ad1SAndroid Build Coastguard Worker    ],
156*b9df5ad1SAndroid Build Coastguard Worker    apex_available: [
157*b9df5ad1SAndroid Build Coastguard Worker        "//apex_available:platform",
158*b9df5ad1SAndroid Build Coastguard Worker        "com.android.media",
159*b9df5ad1SAndroid Build Coastguard Worker        "com.android.media.swcodec",
160*b9df5ad1SAndroid Build Coastguard Worker    ],
161*b9df5ad1SAndroid Build Coastguard Worker}
162*b9df5ad1SAndroid Build Coastguard Worker
163*b9df5ad1SAndroid Build Coastguard Workercc_library_static {
164*b9df5ad1SAndroid Build Coastguard Worker    name: "libaudioutils_fixedfft",
165*b9df5ad1SAndroid Build Coastguard Worker    vendor_available: true,
166*b9df5ad1SAndroid Build Coastguard Worker    product_available: true,
167*b9df5ad1SAndroid Build Coastguard Worker    defaults: ["audio_utils_defaults"],
168*b9df5ad1SAndroid Build Coastguard Worker
169*b9df5ad1SAndroid Build Coastguard Worker    arch: {
170*b9df5ad1SAndroid Build Coastguard Worker        arm: {
171*b9df5ad1SAndroid Build Coastguard Worker            instruction_set: "arm",
172*b9df5ad1SAndroid Build Coastguard Worker        },
173*b9df5ad1SAndroid Build Coastguard Worker    },
174*b9df5ad1SAndroid Build Coastguard Worker
175*b9df5ad1SAndroid Build Coastguard Worker    srcs: ["fixedfft.cpp"],
176*b9df5ad1SAndroid Build Coastguard Worker    min_sdk_version: "29",
177*b9df5ad1SAndroid Build Coastguard Worker    apex_available: [
178*b9df5ad1SAndroid Build Coastguard Worker        "//apex_available:platform",
179*b9df5ad1SAndroid Build Coastguard Worker        "com.android.media",
180*b9df5ad1SAndroid Build Coastguard Worker        "com.android.media.swcodec",
181*b9df5ad1SAndroid Build Coastguard Worker    ],
182*b9df5ad1SAndroid Build Coastguard Worker}
183*b9df5ad1SAndroid Build Coastguard Worker
184*b9df5ad1SAndroid Build Coastguard Workercc_library_static {
185*b9df5ad1SAndroid Build Coastguard Worker    name: "libsndfile",
186*b9df5ad1SAndroid Build Coastguard Worker    defaults: ["audio_utils_defaults"],
187*b9df5ad1SAndroid Build Coastguard Worker    host_supported: true,
188*b9df5ad1SAndroid Build Coastguard Worker    vendor_available: true,
189*b9df5ad1SAndroid Build Coastguard Worker    srcs: [
190*b9df5ad1SAndroid Build Coastguard Worker        "primitives.c",
191*b9df5ad1SAndroid Build Coastguard Worker        "tinysndfile.c",
192*b9df5ad1SAndroid Build Coastguard Worker    ],
193*b9df5ad1SAndroid Build Coastguard Worker    cflags: [
194*b9df5ad1SAndroid Build Coastguard Worker        "-UHAVE_STDERR",
195*b9df5ad1SAndroid Build Coastguard Worker    ],
196*b9df5ad1SAndroid Build Coastguard Worker    header_libs: [
197*b9df5ad1SAndroid Build Coastguard Worker        "libaudio_system_headers",
198*b9df5ad1SAndroid Build Coastguard Worker    ],
199*b9df5ad1SAndroid Build Coastguard Worker    export_header_lib_headers: [
200*b9df5ad1SAndroid Build Coastguard Worker        "libaudio_system_headers",
201*b9df5ad1SAndroid Build Coastguard Worker    ],
202*b9df5ad1SAndroid Build Coastguard Worker}
203*b9df5ad1SAndroid Build Coastguard Worker
204*b9df5ad1SAndroid Build Coastguard Workercc_library_static {
205*b9df5ad1SAndroid Build Coastguard Worker    name: "libfifo",
206*b9df5ad1SAndroid Build Coastguard Worker    defaults: ["audio_utils_defaults"],
207*b9df5ad1SAndroid Build Coastguard Worker    srcs: [
208*b9df5ad1SAndroid Build Coastguard Worker        "fifo.cpp",
209*b9df5ad1SAndroid Build Coastguard Worker        "fifo_index.cpp",
210*b9df5ad1SAndroid Build Coastguard Worker        "primitives.c",
211*b9df5ad1SAndroid Build Coastguard Worker        "roundup.c",
212*b9df5ad1SAndroid Build Coastguard Worker    ],
213*b9df5ad1SAndroid Build Coastguard Worker    min_sdk_version: "29",
214*b9df5ad1SAndroid Build Coastguard Worker    apex_available: [
215*b9df5ad1SAndroid Build Coastguard Worker        "//apex_available:platform",
216*b9df5ad1SAndroid Build Coastguard Worker        "com.android.media",
217*b9df5ad1SAndroid Build Coastguard Worker    ],
218*b9df5ad1SAndroid Build Coastguard Worker    host_supported: true,
219*b9df5ad1SAndroid Build Coastguard Worker    target: {
220*b9df5ad1SAndroid Build Coastguard Worker        darwin: {
221*b9df5ad1SAndroid Build Coastguard Worker            enabled: false,
222*b9df5ad1SAndroid Build Coastguard Worker        },
223*b9df5ad1SAndroid Build Coastguard Worker    },
224*b9df5ad1SAndroid Build Coastguard Worker}
225*b9df5ad1SAndroid Build Coastguard Worker
226*b9df5ad1SAndroid Build Coastguard Workercc_library {
227*b9df5ad1SAndroid Build Coastguard Worker    name: "libaudiospdif",
228*b9df5ad1SAndroid Build Coastguard Worker    host_supported: true,
229*b9df5ad1SAndroid Build Coastguard Worker    defaults: ["audio_utils_defaults"],
230*b9df5ad1SAndroid Build Coastguard Worker
231*b9df5ad1SAndroid Build Coastguard Worker    srcs: [
232*b9df5ad1SAndroid Build Coastguard Worker        "spdif/AC3FrameScanner.cpp",
233*b9df5ad1SAndroid Build Coastguard Worker        "spdif/BitFieldParser.cpp",
234*b9df5ad1SAndroid Build Coastguard Worker        "spdif/DTSFrameScanner.cpp",
235*b9df5ad1SAndroid Build Coastguard Worker        "spdif/FrameScanner.cpp",
236*b9df5ad1SAndroid Build Coastguard Worker        "spdif/SPDIFDecoder.cpp",
237*b9df5ad1SAndroid Build Coastguard Worker        "spdif/SPDIFEncoder.cpp",
238*b9df5ad1SAndroid Build Coastguard Worker        "spdif/SPDIFFrameScanner.cpp",
239*b9df5ad1SAndroid Build Coastguard Worker    ],
240*b9df5ad1SAndroid Build Coastguard Worker
241*b9df5ad1SAndroid Build Coastguard Worker    shared_libs: [
242*b9df5ad1SAndroid Build Coastguard Worker        "libcutils",
243*b9df5ad1SAndroid Build Coastguard Worker        "liblog",
244*b9df5ad1SAndroid Build Coastguard Worker    ],
245*b9df5ad1SAndroid Build Coastguard Worker}
246