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        "android.hidl.token@1.0-utils",
108        "android.hardware.media.omx@1.0",
109        "libbinder",
110        "libcutils",
111        "libhidlbase",
112        "liblog",
113        "libstagefright_foundation",
114        "libui",
115        "libutils",
116    ],
117
118    export_shared_lib_headers: [
119        "android.hidl.token@1.0-utils",
120        "android.hardware.media.omx@1.0",
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        "-Werror",
142        "-Wno-error=deprecated-declarations",
143        "-Wall",
144    ],
145
146    sanitize: {
147        misc_undefined: [
148            "unsigned-integer-overflow",
149            "signed-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        "-Werror",
201        "-Wno-error=deprecated-declarations",
202        "-Wall",
203    ],
204
205    sanitize: {
206        misc_undefined: [
207            "unsigned-integer-overflow",
208            "signed-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        "-Werror",
236        "-Wno-error=deprecated-declarations",
237        "-Wall",
238    ],
239
240    sanitize: {
241        misc_undefined: [
242            "unsigned-integer-overflow",
243            "signed-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",
259
260    srcs: [
261        "IMediaCodecList.cpp",
262        "MediaCodecInfo.cpp",
263    ],
264
265    local_include_dirs: [
266        "include",
267    ],
268
269    shared_libs: [
270        "android.hardware.media.omx@1.0",
271        "libbinder",
272        "liblog",
273        "libstagefright_foundation",
274        "libutils",
275    ],
276
277    static_libs: [
278        "android.media.codec-aconfig-cc",
279    ],
280
281    include_dirs: [
282        "system/libhidl/transport/token/1.0/utils/include",
283    ],
284
285    export_include_dirs: [
286        "include",
287    ],
288
289    cflags: [
290        "-Werror",
291        "-Wno-error=deprecated-declarations",
292        "-Wall",
293    ],
294
295    sanitize: {
296        misc_undefined: [
297            "unsigned-integer-overflow",
298            "signed-integer-overflow",
299        ],
300        cfi: true,
301    },
302}
303
304cc_library {
305    name: "libmedia",
306
307    defaults: [
308        "latest_android_media_audio_common_types_cpp_shared",
309    ],
310
311    srcs: [
312        ":mediaextractorservice_aidl",
313        "IDataSource.cpp",
314        "BufferingSettings.cpp",
315        "mediaplayer.cpp",
316        "IMediaHTTPConnection.cpp",
317        "IMediaHTTPService.cpp",
318        "IMediaExtractor.cpp",
319        "IMediaPlayerService.cpp",
320        "IMediaPlayerClient.cpp",
321        "IMediaRecorderClient.cpp",
322        "IMediaPlayer.cpp",
323        "IMediaRecorder.cpp",
324        "IMediaSource.cpp",
325        "IRemoteDisplay.cpp",
326        "IRemoteDisplayClient.cpp",
327        "IStreamSource.cpp",
328        "Metadata.cpp",
329        "mediarecorder.cpp",
330        "IMediaMetadataRetriever.cpp",
331        "mediametadataretriever.cpp",
332        "MediaScanner.cpp",
333        "MediaScannerClient.cpp",
334        "CharacterEncodingDetector.cpp",
335        "IMediaDeathNotifier.cpp",
336        "MediaProfiles.cpp",
337        "MediaResource.cpp",
338        "MediaResourcePolicy.cpp",
339        "StringArray.cpp",
340        "NdkMediaFormatPriv.cpp",
341        "NdkMediaErrorPriv.cpp",
342    ],
343
344    aidl: {
345        local_include_dirs: ["aidl"],
346        export_aidl_headers: true,
347    },
348
349    header_libs: [
350        "libstagefright_headers",
351        "media_ndk_headers",
352        "jni_headers",
353    ],
354
355    export_header_lib_headers: [
356        "libstagefright_headers",
357        "media_ndk_headers",
358        "jni_headers",
359    ],
360
361    shared_libs: [
362        "android.hidl.token@1.0-utils",
363        "audioclient-types-aidl-cpp",
364        "av-types-aidl-cpp",
365        "liblog",
366        "libcutils",
367        "libprocessgroup",
368        "libutils",
369        "libbinder",
370        "libbinder_ndk",
371        //"libsonivox",
372        "libandroidicu",
373        "libexpat",
374        "libcamera_client",
375        "libstagefright_foundation",
376        "libgui",
377        "libdl",
378        "libaudioclient",
379        "libmedia_codeclist",
380        "libmedia_omx",
381        "framework-permission-aidl-cpp",
382    ],
383
384    export_shared_lib_headers: [
385        "libaudioclient",
386        "libbinder",
387        //"libsonivox",
388        "libmedia_omx",
389        "framework-permission-aidl-cpp",
390    ],
391
392    static_libs: [
393        "resourcemanager_aidl_interface-ndk",
394        "framework-permission-aidl-cpp",
395    ],
396
397    export_static_lib_headers: [
398        "resourcemanager_aidl_interface-ndk",
399        "framework-permission-aidl-cpp",
400    ],
401
402    export_include_dirs: [
403        "include",
404    ],
405
406    cflags: [
407        "-Werror",
408        "-Wno-error=deprecated-declarations",
409        "-Wall",
410    ],
411
412    version_script: "exports.lds",
413
414    sanitize: {
415        misc_undefined: [
416            "unsigned-integer-overflow",
417            "signed-integer-overflow",
418        ],
419        cfi: true,
420    },
421}
422
423cc_library_static {
424    name: "libmedia_ndkformatpriv",
425
426    host_supported: true,
427
428    srcs: [
429        "NdkMediaFormatPriv.cpp",
430        "NdkMediaErrorPriv.cpp",
431    ],
432
433    header_libs: [
434        "libstagefright_foundation_headers",
435        "libstagefright_headers",
436        "media_ndk_headers",
437    ],
438
439    cflags: [
440        "-DEXPORT=__attribute__((visibility(\"default\")))",
441        "-Werror",
442        "-Wall",
443    ],
444
445    export_include_dirs: ["include"],
446
447    target: {
448        darwin: {
449            enabled: false,
450        },
451    },
452
453    apex_available: [
454        "//apex_available:platform",
455        "com.android.media",
456    ],
457}
458