1package {
2    default_applicable_licenses: ["frameworks_av_media_libmedia_license"],
3}
4
5// Added automatically by a large-scale-change
6// See: http://go/android-license-faq
7license {
8    name: "frameworks_av_media_libmedia_license",
9    visibility: [":__subpackages__"],
10    license_kinds: [
11        "SPDX-license-identifier-Apache-2.0",
12    ],
13    license_text: [
14        "NOTICE",
15    ],
16}
17
18cc_library_headers {
19    name: "libmedia_headers",
20    vendor_available: true,
21    min_sdk_version: "29",
22
23    export_include_dirs: ["include"],
24    header_libs: [
25        "av-headers",
26        "libbase_headers",
27        "libgui_headers",
28        "libstagefright_headers",
29        "media_plugin_headers",
30    ],
31    export_header_lib_headers: [
32        "av-headers",
33        "libgui_headers",
34        "libstagefright_headers",
35        "media_plugin_headers",
36    ],
37}
38
39cc_library_headers {
40    name: "libmedia_datasource_headers",
41    export_include_dirs: ["include"],
42    host_supported: true,
43    target: {
44        darwin: {
45            enabled: false,
46        },
47    },
48    header_libs: [
49        "libbinder_headers",
50    ],
51    export_header_lib_headers: [
52        "libbinder_headers",
53    ],
54    apex_available: [
55        "//apex_available:platform",
56        "com.android.media",
57    ],
58    min_sdk_version: "29",
59}
60
61filegroup {
62    name: "libmedia_omx_aidl",
63    srcs: [
64        "aidl/android/IOMXBufferSource.aidl",
65    ],
66    path: "aidl",
67}
68
69filegroup {
70    name: "mediaextractorservice_aidl",
71    srcs: [
72        "aidl/android/IMediaExtractorService.aidl",
73    ],
74    path: "aidl",
75}
76
77cc_library_shared {
78    name: "libmedia_omx",
79    vendor_available: true,
80    vndk: {
81        enabled: true,
82    },
83    double_loadable: true,
84
85    srcs: [
86        ":libmedia_omx_aidl",
87
88        "IOMX.cpp",
89        "MediaCodecBuffer.cpp",
90        "OMXBuffer.cpp",
91        "omx/1.0/WOmxBufferSource.cpp",
92        "omx/1.0/WOmxNode.cpp",
93        "omx/1.0/WOmxObserver.cpp",
94    ],
95
96    aidl: {
97        local_include_dirs: ["aidl"],
98        export_aidl_headers: true,
99    },
100
101    local_include_dirs: [
102        "include",
103    ],
104
105    shared_libs: [
106        "android.hidl.token@1.0-utils",
107        "android.hardware.media.omx@1.0",
108        "libbinder",
109        "libcutils",
110        "libhidlbase",
111        "liblog",
112        "libstagefright_foundation",
113        "libui",
114        "libutils",
115    ],
116
117    export_shared_lib_headers: [
118        "android.hidl.token@1.0-utils",
119        "android.hardware.media.omx@1.0",
120        "libstagefright_foundation",
121        "libui",
122    ],
123
124    header_libs: [
125        "libstagefright_headers",
126        "media_plugin_headers",
127    ],
128
129    export_header_lib_headers: [
130        "libstagefright_headers",
131        "media_plugin_headers",
132    ],
133
134    export_include_dirs: [
135        "aidl",
136        "include",
137    ],
138
139    cflags: [
140        "-Werror",
141        "-Wno-error=deprecated-declarations",
142        "-Wall",
143    ],
144
145    sanitize: {
146        misc_undefined: [
147            "unsigned-integer-overflow",
148            "signed-integer-overflow",
149        ],
150        cfi: true,
151    },
152}
153
154cc_library_shared {
155    name: "libmedia_omx_client",
156
157    srcs: [
158        "omx/1.0/WOmx.cpp",
159    ],
160
161    local_include_dirs: [
162        "include",
163    ],
164
165    shared_libs: [
166        "libbinder",
167        "libcutils",
168        "libgui",
169        "libhidlbase",
170        "liblog",
171        "libmedia_omx",
172        "libstagefright_foundation",
173        "libui",
174        "libutils",
175    ],
176
177    export_shared_lib_headers: [
178        "libgui",
179        "libmedia_omx",
180        "libstagefright_foundation",
181        "libui",
182    ],
183
184    header_libs: [
185        "libstagefright_headers",
186        "media_plugin_headers",
187    ],
188
189    export_header_lib_headers: [
190        "libstagefright_headers",
191        "media_plugin_headers",
192    ],
193
194    export_include_dirs: [
195        "include",
196    ],
197
198    cflags: [
199        "-Werror",
200        "-Wno-error=deprecated-declarations",
201        "-Wall",
202    ],
203
204    sanitize: {
205        misc_undefined: [
206            "unsigned-integer-overflow",
207            "signed-integer-overflow",
208        ],
209        cfi: true,
210    },
211}
212
213cc_library_static {
214    name: "libmedia_midiiowrapper",
215
216    min_sdk_version: "29",
217
218    srcs: ["MidiIoWrapper.cpp"],
219
220    static_libs: [
221        "libsonivoxwithoutjet",
222    ],
223
224    header_libs: [
225        "libmedia_datasource_headers",
226        "media_ndk_headers",
227    ],
228
229    cflags: [
230        "-Werror",
231        "-Wno-error=deprecated-declarations",
232        "-Wall",
233    ],
234
235    sanitize: {
236        misc_undefined: [
237            "unsigned-integer-overflow",
238            "signed-integer-overflow",
239        ],
240        cfi: true,
241    },
242
243    host_supported: true,
244
245    target: {
246        darwin: {
247            enabled: false,
248        },
249    },
250}
251
252cc_library_shared {
253    name: "libmedia_codeclist",
254
255    srcs: [
256        "IMediaCodecList.cpp",
257        "MediaCodecInfo.cpp",
258    ],
259
260    local_include_dirs: [
261        "include",
262    ],
263
264    shared_libs: [
265        "android.hardware.media.omx@1.0",
266        "libbinder",
267        "liblog",
268        "libstagefright_foundation",
269        "libutils",
270    ],
271
272    include_dirs: [
273        "system/libhidl/transport/token/1.0/utils/include",
274    ],
275
276    export_include_dirs: [
277        "include",
278    ],
279
280    cflags: [
281        "-Werror",
282        "-Wno-error=deprecated-declarations",
283        "-Wall",
284    ],
285
286    sanitize: {
287        misc_undefined: [
288            "unsigned-integer-overflow",
289            "signed-integer-overflow",
290        ],
291        cfi: true,
292    },
293}
294
295cc_library {
296    name: "libmedia",
297
298    srcs: [
299        ":mediaextractorservice_aidl",
300        "IDataSource.cpp",
301        "BufferingSettings.cpp",
302        "mediaplayer.cpp",
303        "IMediaHTTPConnection.cpp",
304        "IMediaHTTPService.cpp",
305        "IMediaExtractor.cpp",
306        "IMediaPlayerService.cpp",
307        "IMediaPlayerClient.cpp",
308        "IMediaRecorderClient.cpp",
309        "IMediaPlayer.cpp",
310        "IMediaRecorder.cpp",
311        "IMediaSource.cpp",
312        "IRemoteDisplay.cpp",
313        "IRemoteDisplayClient.cpp",
314        "IStreamSource.cpp",
315        "Metadata.cpp",
316        "mediarecorder.cpp",
317        "IMediaMetadataRetriever.cpp",
318        "mediametadataretriever.cpp",
319        "MediaScanner.cpp",
320        "MediaScannerClient.cpp",
321        "CharacterEncodingDetector.cpp",
322        "IMediaDeathNotifier.cpp",
323        "MediaProfiles.cpp",
324        "MediaResource.cpp",
325        "MediaResourcePolicy.cpp",
326        "StringArray.cpp",
327        "NdkMediaFormatPriv.cpp",
328        "NdkMediaErrorPriv.cpp",
329    ],
330
331    aidl: {
332        local_include_dirs: ["aidl"],
333        export_aidl_headers: true,
334    },
335
336    header_libs: [
337        "libstagefright_headers",
338        "media_ndk_headers",
339        "jni_headers",
340    ],
341
342    export_header_lib_headers: [
343        "libstagefright_headers",
344        "media_ndk_headers",
345        "jni_headers",
346    ],
347
348    shared_libs: [
349        "android.hidl.token@1.0-utils",
350        "audioclient-types-aidl-cpp",
351        "av-types-aidl-cpp",
352        "liblog",
353        "libcutils",
354        "libprocessgroup",
355        "libutils",
356        "libbinder",
357        "libbinder_ndk",
358        //"libsonivox",
359        "libandroidicu",
360        "libexpat",
361        "libcamera_client",
362        "libstagefright_foundation",
363        "libgui",
364        "libdl",
365        "libaudioclient",
366        "libmedia_codeclist",
367        "libmedia_omx",
368        "framework-permission-aidl-cpp",
369    ],
370
371    export_shared_lib_headers: [
372        "libaudioclient",
373        "libbinder",
374        "libandroidicu",
375        //"libsonivox",
376        "libmedia_omx",
377        "framework-permission-aidl-cpp",
378    ],
379
380    static_libs: [
381        "resourcemanager_aidl_interface-ndk_platform",
382        "framework-permission-aidl-cpp",
383    ],
384
385    export_static_lib_headers: [
386        "resourcemanager_aidl_interface-ndk_platform",
387        "framework-permission-aidl-cpp",
388    ],
389
390    export_include_dirs: [
391        "include",
392    ],
393
394    cflags: [
395        "-Werror",
396        "-Wno-error=deprecated-declarations",
397        "-Wall",
398    ],
399
400    version_script: "exports.lds",
401
402    sanitize: {
403        misc_undefined: [
404            "unsigned-integer-overflow",
405            "signed-integer-overflow",
406        ],
407        cfi: true,
408    },
409}
410
411cc_library_static {
412    name: "libmedia_ndkformatpriv",
413
414    host_supported: true,
415
416    srcs: [
417        "NdkMediaFormatPriv.cpp",
418        "NdkMediaErrorPriv.cpp",
419    ],
420
421    header_libs: [
422        "libstagefright_foundation_headers",
423        "libstagefright_headers",
424        "media_ndk_headers",
425    ],
426
427    cflags: [
428        "-DEXPORT=__attribute__((visibility(\"default\")))",
429        "-Werror",
430        "-Wall",
431    ],
432
433    export_include_dirs: ["include"],
434
435    target: {
436        darwin: {
437            enabled: false,
438        },
439    },
440
441    apex_available: [
442        "//apex_available:platform",
443        "com.android.media"
444    ],
445}
446