1cc_library_headers {
2    name: "libmedia_headers",
3    vendor_available: true,
4    export_include_dirs: ["include"],
5    header_libs:[
6        "libgui_headers",
7        "libstagefright_headers",
8        "media_plugin_headers",
9    ],
10    export_header_lib_headers: [
11        "libgui_headers",
12        "libstagefright_headers",
13        "media_plugin_headers",
14    ],
15}
16
17cc_library {
18    name: "libmedia_helper",
19    vendor_available: true,
20    vndk: {
21        enabled: true,
22    },
23    srcs: ["AudioParameter.cpp", "TypeConverter.cpp", "TimeCheck.cpp"],
24    cflags: [
25        "-Werror",
26        "-Wno-error=deprecated-declarations",
27        "-Wall",
28    ],
29    shared_libs: ["libutils", "liblog"],
30    header_libs: [
31        "libmedia_headers",
32        "libaudioclient_headers",
33        "libaudio_system_headers",
34    ],
35    clang: true,
36}
37
38cc_library_shared {
39    name: "libmedia_omx",
40    vendor_available: true,
41    vndk: {
42        enabled: true,
43    },
44
45    srcs: [
46        "aidl/android/IGraphicBufferSource.aidl",
47        "aidl/android/IOMXBufferSource.aidl",
48
49        "IMediaCodecList.cpp",
50        "IOMX.cpp",
51        "MediaCodecBuffer.cpp",
52        "MediaCodecInfo.cpp",
53        "OMXBuffer.cpp",
54        "omx/1.0/WGraphicBufferSource.cpp",
55        "omx/1.0/WOmx.cpp",
56        "omx/1.0/WOmxBufferSource.cpp",
57        "omx/1.0/WOmxNode.cpp",
58        "omx/1.0/WOmxObserver.cpp",
59    ],
60
61    aidl: {
62        local_include_dirs: ["aidl"],
63        export_aidl_headers: true,
64    },
65
66    shared_libs: [
67        "android.hidl.token@1.0-utils",
68        "android.hardware.media.omx@1.0",
69        "libbinder",
70        "libcutils",
71        "libgui",
72        "libhidlbase",
73        "libhidltransport",
74        "liblog",
75        "libstagefright_foundation",
76        "libui",
77        "libutils",
78    ],
79
80    export_shared_lib_headers: [
81        "android.hidl.token@1.0-utils",
82        "android.hardware.media.omx@1.0",
83        "libstagefright_foundation",
84        "libui",
85    ],
86
87    header_libs: [
88        "libmedia_headers",
89    ],
90
91    export_header_lib_headers: [
92        "libmedia_headers",
93    ],
94
95    export_include_dirs: [
96        "aidl",
97    ],
98
99    cflags: [
100        "-Werror",
101        "-Wno-error=deprecated-declarations",
102        "-Wall",
103    ],
104
105    sanitize: {
106        misc_undefined: [
107            "unsigned-integer-overflow",
108            "signed-integer-overflow",
109        ],
110        cfi: true,
111        diag: {
112            cfi: true,
113        },
114    },
115}
116
117cc_library_static {
118    name: "libmedia_midiiowrapper",
119
120    srcs: ["MidiIoWrapper.cpp"],
121
122    static_libs: [
123        "libsonivox",
124    ],
125
126    cflags: [
127        "-Werror",
128        "-Wno-error=deprecated-declarations",
129        "-Wall",
130    ],
131
132    sanitize: {
133        misc_undefined: [
134            "unsigned-integer-overflow",
135            "signed-integer-overflow",
136        ],
137        cfi: true,
138        diag: {
139            cfi: true,
140        },
141    },
142}
143
144filegroup {
145    name: "mediaupdateservice_aidl",
146    srcs: [
147        "aidl/android/media/IMediaExtractorUpdateService.aidl",
148    ],
149}
150
151cc_library {
152    name: "libmedia",
153
154    srcs: [
155        ":mediaupdateservice_aidl",
156        "IDataSource.cpp",
157        "BufferingSettings.cpp",
158        "mediaplayer.cpp",
159        "IMediaHTTPConnection.cpp",
160        "IMediaHTTPService.cpp",
161        "IMediaExtractor.cpp",
162        "IMediaExtractorService.cpp",
163        "IMediaPlayerService.cpp",
164        "IMediaPlayerClient.cpp",
165        "IMediaRecorderClient.cpp",
166        "IMediaPlayer.cpp",
167        "IMediaRecorder.cpp",
168        "IMediaSource.cpp",
169        "IRemoteDisplay.cpp",
170        "IRemoteDisplayClient.cpp",
171        "IResourceManagerClient.cpp",
172        "IResourceManagerService.cpp",
173        "IStreamSource.cpp",
174        "MediaUtils.cpp",
175        "Metadata.cpp",
176        "mediarecorder.cpp",
177        "IMediaMetadataRetriever.cpp",
178        "mediametadataretriever.cpp",
179        "MidiDeviceInfo.cpp",
180        "JetPlayer.cpp",
181        "MediaScanner.cpp",
182        "MediaScannerClient.cpp",
183        "CharacterEncodingDetector.cpp",
184        "IMediaDeathNotifier.cpp",
185        "MediaProfiles.cpp",
186        "MediaResource.cpp",
187        "MediaResourcePolicy.cpp",
188        "Visualizer.cpp",
189        "StringArray.cpp",
190    ],
191
192    aidl: {
193        local_include_dirs: ["aidl"],
194        export_aidl_headers: true,
195    },
196
197    header_libs: [
198        "libstagefright_headers",
199    ],
200
201    export_header_lib_headers: [
202        "libstagefright_headers",
203    ],
204
205    shared_libs: [
206        "android.hidl.token@1.0-utils",
207        "liblog",
208        "libcutils",
209        "libutils",
210        "libbinder",
211        "libsonivox",
212        "libicuuc",
213        "libicui18n",
214        "libexpat",
215        "libcamera_client",
216        "libstagefright_foundation",
217        "libmediaextractor",
218        "libgui",
219        "libdl",
220        "libaudioutils",
221        "libaudioclient",
222        "libmedia_omx",
223    ],
224
225    export_shared_lib_headers: [
226        "libaudioclient",
227        "libbinder",
228        "libicuuc",
229        "libicui18n",
230        "libsonivox",
231        "libmedia_omx",
232    ],
233
234    static_libs: [
235        "libc_malloc_debug_backtrace",  // for memory heap analysis
236        "libmedia_midiiowrapper",
237    ],
238
239    export_include_dirs: [
240        "include",
241    ],
242
243    cflags: [
244        "-Werror",
245        "-Wno-error=deprecated-declarations",
246        "-Wall",
247    ],
248
249    version_script: "exports.lds",
250
251    sanitize: {
252        misc_undefined: [
253            "unsigned-integer-overflow",
254            "signed-integer-overflow",
255        ],
256        cfi: true,
257        diag: {
258            cfi: true,
259        },
260    },
261}
262
263cc_library {
264    name: "libmedia_player2_util",
265
266    srcs: [
267        "BufferingSettings.cpp",
268        "DataSourceDesc.cpp",
269        "IDataSource.cpp",
270        "IMediaExtractor.cpp",
271        "IMediaExtractorService.cpp",
272        "IMediaSource.cpp",
273        "MediaCodecBuffer.cpp",
274        "MediaUtils.cpp",
275        "Metadata.cpp",
276        "NdkWrapper.cpp",
277    ],
278
279    shared_libs: [
280        "libbinder",
281        "libcutils",
282        "liblog",
283        "libmediaextractor",
284        "libmediandk",
285        "libnativewindow",
286        "libstagefright_foundation",
287        "libui",
288        "libutils",
289    ],
290
291    export_shared_lib_headers: [
292        "libbinder",
293        "libmediandk",
294    ],
295
296    header_libs: [
297        "media_plugin_headers",
298    ],
299
300    static_libs: [
301        "libstagefright_rtsp",
302        "libstagefright_timedtext",
303    ],
304
305    export_include_dirs: [
306        "include",
307    ],
308
309    cflags: [
310        "-Werror",
311        "-Wno-error=deprecated-declarations",
312        "-Wall",
313    ],
314
315    sanitize: {
316        misc_undefined: [
317            "unsigned-integer-overflow",
318            "signed-integer-overflow",
319        ],
320        cfi: true,
321        diag: {
322            cfi: true,
323        },
324    },
325}
326