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