xref: /aosp_15_r20/frameworks/wilhelm/src/Android.bp (revision bebae9c0e76121f8312ccb50385c080b3a0b023c)
1package {
2    // See: http://go/android-license-faq
3    default_applicable_licenses: [
4        "Android-Apache-2.0",
5        "frameworks_wilhelm_license",  // MIT
6    ],
7}
8
9cc_library_static {
10    name: "libOpenSLESUT",
11
12    srcs: [
13        "assert.cpp",
14        "ut/OpenSLESUT.c",
15        "ut/slesutResult.c",
16    ],
17
18    header_libs: [
19        "jni_headers",
20        "libOpenSLES_headers",
21    ],
22    export_header_lib_headers: ["libOpenSLES_headers"],
23    export_include_dirs: ["ut"],
24
25    cflags: [
26        "-fvisibility=hidden",
27        "-UNDEBUG",
28
29        "-Wall",
30        "-Werror",
31    ],
32}
33
34cc_library_static {
35    name: "libopensles_helper",
36
37    header_libs: ["libOpenSLES_headers"],
38    export_header_lib_headers: ["libOpenSLES_headers"],
39
40    cflags: [
41        "-Wno-initializer-overrides",
42        //"-Wno-missing-field-initializers",
43        // optional, see comments in MPH_to.c:
44        //"-DUSE_DESIGNATED_INITIALIZERS",
45        //"-S",
46        // and also see ../tools/mphgen/Makefile
47        "-DUSE_DESIGNATED_INITIALIZERS",
48        "-UNDEBUG",
49
50        "-Wall",
51        "-Werror",
52    ],
53
54    srcs: [
55        "assert.cpp",
56        "MPH_to.c",
57        "handlers.c",
58    ],
59}
60
61
62cc_library_shared {
63    name: "libwilhelm",
64
65    cflags: [
66        // do not claim support for any OpenSL ES or OpenMAX AL profiles
67        "-DUSE_PROFILES=0",
68
69        // enable API logging; details are set separately by SL_TRACE_DEFAULT below
70        // or -UUSE_TRACE to disable API logging
71        "-DUSE_TRACE",
72
73        // see Configuration.h for USE_DEBUG
74
75        // enable assert() to do runtime checking
76        // or -DNDEBUG for no runtime checking
77        "-UNDEBUG",
78
79        // select the level of log messages
80        // or -DUSE_LOG=SLAndroidLogLevel_Verbose for verbose logging
81        "-DUSE_LOG=SLAndroidLogLevel_Info",
82
83        // log all API entries and exits (also requires Debug or Verbose log level)
84        // (otherwise a warning log on error results only)
85        //"-DSL_TRACE_DEFAULT=SL_TRACE_ALL",
86
87        // Reduce size of .so and hide internal global symbols
88        "-fvisibility=hidden",
89        "-DLI_API=__attribute__((visibility(\"default\")))",
90
91        "-Wno-multichar",
92        "-Wno-invalid-offsetof",
93
94        "-Wall",
95        "-Wextra",
96        "-Wno-unused-parameter",
97        "-Werror",
98    ],
99
100    ldflags: [
101        "-Wl,--exclude-libs,ALL",
102    ],
103
104    product_variables: {
105        platform_sdk_version: {
106            // API level
107            cflags: ["-DPLATFORM_SDK_VERSION=%d"],
108        },
109    },
110
111    srcs: [
112        "OpenSLES_IID.cpp",
113        "assert.cpp",
114        "classes.cpp",
115        "data.cpp",
116        "devices.cpp",
117        "entry.cpp",
118        "handler_bodies.cpp",
119        "trace.cpp",
120        "locks.cpp",
121        "sles.cpp",
122        "sl_iid.cpp",
123        "sllog.cpp",
124        "ThreadPool.cpp",
125        "android/AudioPlayer_to_android.cpp",
126        "android/AudioRecorder_to_android.cpp",
127        "android/MediaPlayer_to_android.cpp",
128        "android/OutputMix_to_android.cpp",
129        "android/VideoCodec_to_android.cpp",
130        "android/BufferQueueSource.cpp",
131        "android/CallbackProtector.cpp",
132        "android/AacBqToPcmCbRenderer.cpp",
133        "android/android_AudioSfDecoder.cpp",
134        "android/android_AudioToCbRenderer.cpp",
135        "android/android_GenericMediaPlayer.cpp",
136        "android/android_GenericPlayer.cpp",
137        "android/android_LocAVPlayer.cpp",
138        "android/android_StreamPlayer.cpp",
139        "android/android_Effect.cpp",
140        "android/util/AacAdtsExtractor.cpp",
141        "android/channels.cpp",
142        "autogen/IID_to_MPH.cpp",
143        "objects/C3DGroup.cpp",
144        "objects/CAudioPlayer.cpp",
145        "objects/CAudioRecorder.cpp",
146        "objects/CEngine.cpp",
147        "objects/COutputMix.cpp",
148        "objects/CMediaPlayer.cpp",
149        "itf/IAndroidBufferQueue.cpp",
150        "itf/IAndroidConfiguration.cpp",
151        "itf/IAndroidEffect.cpp",
152        "itf/IAndroidEffectCapabilities.cpp",
153        "itf/IAndroidEffectSend.cpp",
154        "itf/IAcousticEchoCancellation.cpp",
155        "itf/IAutomaticGainControl.cpp",
156        "itf/IBassBoost.cpp",
157        "itf/IBufferQueue.cpp",
158        "itf/IDynamicInterfaceManagement.cpp",
159        "itf/IEffectSend.cpp",
160        "itf/IEngine.cpp",
161        "itf/IEngineCapabilities.cpp",
162        "itf/IEnvironmentalReverb.cpp",
163        "itf/IEqualizer.cpp",
164        "itf/IMetadataExtraction.cpp",
165        "itf/INoiseSuppression.cpp",
166        "itf/IMuteSolo.cpp",
167        "itf/IObject.cpp",
168        "itf/IOutputMix.cpp",
169        "itf/IPlay.cpp",
170        "itf/IPlaybackRate.cpp",
171        "itf/IPrefetchStatus.cpp",
172        "itf/IPresetReverb.cpp",
173        "itf/IRecord.cpp",
174        "itf/ISeek.cpp",
175        "itf/IStreamInformation.cpp",
176        "itf/IVideoDecoderCapabilities.cpp",
177        "itf/IVirtualizer.cpp",
178        "itf/IVolume.cpp",
179
180        /* unused source files:
181        "sync.cpp",
182        "itf/I3DCommit.cpp",
183        "itf/I3DDoppler.cpp",
184        "itf/I3DGrouping.cpp",
185        "itf/I3DLocation.cpp",
186        "itf/I3DMacroscopic.cpp",
187        "itf/I3DSource.cpp",
188        "itf/IAudioDecoderCapabilities.cpp",
189        "itf/IAudioEncoder.cpp",
190        "itf/IAudioEncoderCapabilities.cpp",
191        "itf/IAudioIODeviceCapabilities.cpp",
192        "itf/IDeviceVolume.cpp",
193        "itf/IDynamicSource.cpp",
194        "itf/ILEDArray.cpp",
195        "itf/IMIDIMessage.cpp",
196        "itf/IMIDIMuteSolo.cpp",
197        "itf/IMIDITempo.cpp",
198        "itf/IMIDITime.cpp",
199        "itf/IMetadataTraversal.cpp",
200        "itf/IPitch.cpp",
201        "itf/IRatePitch.cpp",
202        "itf/IThreadSync.cpp",
203        "itf/IVibra.cpp",
204        "itf/IVisualization.cpp",
205        */
206    ],
207
208    header_libs: [
209        "jni_headers",
210        "libmediametrics_headers",
211        "libOpenSLES_headers",
212        "libstagefright_mpeg2support_headers",
213        "media_plugin_headers",
214    ],
215
216    export_header_lib_headers: [
217        "jni_headers",
218        "libOpenSLES_headers",
219        "media_plugin_headers",
220    ],
221
222    static_libs: [
223        "libopensles_helper",
224        "libOpenSLESUT",
225        "libstagefright_metadatautils",
226    ],
227
228    shared_libs: [
229        "framework-permission-aidl-cpp",
230        "liblog",
231        "libutils",
232        "libmedia",
233        "libmedia_codeclist",
234        "libaudioclient",
235        "libaudioclient_aidl_conversion",
236        "libaudiofoundation",
237        "libaudiomanager",
238        "libbinder",
239        "libdatasource",
240        "libstagefright",
241        "libstagefright_foundation",
242        "libgui",
243        "libdl",
244        "libandroid_runtime",
245        "libstagefright_http_support",
246    ],
247
248    export_shared_lib_headers: [
249        "libmedia",
250        "libstagefright",
251        "libaudioclient",
252    ],
253}
254
255cc_library_shared {
256    name: "libOpenSLES",
257
258    srcs: [
259        "sl_entry.cpp",
260        "sl_iid.cpp",
261        "assert.cpp",
262    ],
263    include_dirs: [
264        "frameworks/native/include/media/openmax",
265    ],
266
267    export_shared_lib_headers: ["libwilhelm"],
268    cflags: [
269        "-DLI_API=",
270        "-fvisibility=hidden",
271        "-UNDEBUG",
272        "-DSL_API=__attribute__((visibility(\"default\")))",
273
274        "-Wall",
275        "-Werror",
276    ],
277    shared_libs: [
278        "libwilhelm",
279        "liblog",
280        "libnativewindow",
281    ],
282    header_libs: [
283        "libmediametrics_headers",
284    ],
285    version_script: "libOpenSLES.map.txt",
286}
287
288cc_library_shared {
289    name: "libOpenMAXAL",
290
291    srcs: [
292        "xa_entry.cpp",
293        "xa_iid.cpp",
294        "assert.cpp",
295    ],
296    include_dirs: [
297        "frameworks/native/include/media/openmax",
298    ],
299
300    export_shared_lib_headers: ["libwilhelm"],
301    cflags: [
302        "-DLI_API=",
303        "-fvisibility=hidden",
304        "-UNDEBUG",
305        "-DXA_API=__attribute__((visibility(\"default\")))",
306
307        "-Wall",
308        "-Werror",
309    ],
310    shared_libs: [
311        "libwilhelm",
312        "liblog",
313        "libnativewindow",
314    ],
315    header_libs: [
316        "libmediametrics_headers",
317    ],
318    version_script: "libOpenMAXAL.map.txt",
319}
320