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