blob: ee4def51246f35bcbd09d9323c6f8b7a1218a110 [file] [log] [blame]
Dan Albert2975a242016-09-23 16:17:45 -07001// Copyright (C) 2016 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Headers module is in frameworks/av/Android.bp because modules are not allowed
16// to refer to headers in parent directories and the headers live in
17// frameworks/av/include.
18
19ndk_library {
Dan Willemsen2c885592017-04-07 15:48:32 -070020 name: "libmediandk",
Dan Albert2975a242016-09-23 16:17:45 -070021 symbol_file: "libmediandk.map.txt",
22 first_version: "21",
Dan Albert1714f2e2017-01-05 16:00:15 -080023 unversioned_until: "current",
Dan Albert2975a242016-09-23 16:17:45 -070024}
Colin Cross7e8d4ba2017-05-04 16:17:42 -070025
26ndk_headers {
27 name: "libmediandk_headers",
28 from: "include/media",
29 to: "media",
30 srcs: ["include/media/**/*.h"],
31 license: "NOTICE",
32}
Colin Cross3f4c0df2017-05-04 16:19:06 -070033
Marco Nelissen5dcf85a2018-10-11 09:49:02 -070034// for use with header_libs
35cc_library_headers {
36 name: "media_ndk_headers",
37 vendor_available: true,
Victor Khimenko09879292020-07-02 23:49:09 +020038 // TODO(b/153609531): remove when no longer needed.
39 native_bridge_supported: true,
Jooyung Han5e8fecc2020-05-22 00:42:12 +090040 apex_available: [
41 "//apex_available:platform",
42 "com.android.media",
43 "com.android.media.swcodec",
44 ],
45 min_sdk_version: "29",
S Vasudev Prasadebbc3232020-03-13 15:59:32 +053046 export_include_dirs: ["include"],
47 host_supported: true,
48 target: {
49 darwin: {
50 enabled: false,
51 },
52 },
Marco Nelissen5dcf85a2018-10-11 09:49:02 -070053}
54
Colin Cross3f4c0df2017-05-04 16:19:06 -070055cc_library_shared {
56 name: "libmediandk",
Colin Cross9b0f94a2020-10-19 13:37:55 -070057 llndk_stubs: "libmediandk.llndk",
Colin Cross3f4c0df2017-05-04 16:19:06 -070058
59 srcs: [
Dichen Zhang52a243e2019-11-08 11:02:03 -080060 "NdkJavaVMHelper.cpp",
Colin Cross3f4c0df2017-05-04 16:19:06 -070061 "NdkMediaCodec.cpp",
62 "NdkMediaCrypto.cpp",
Robert Shih0df451b2017-12-08 14:16:50 -080063 "NdkMediaDataSource.cpp",
Colin Cross3f4c0df2017-05-04 16:19:06 -070064 "NdkMediaExtractor.cpp",
65 "NdkMediaFormat.cpp",
66 "NdkMediaMuxer.cpp",
67 "NdkMediaDrm.cpp",
68 "NdkImage.cpp",
69 "NdkImageReader.cpp",
70 ],
71
72 include_dirs: [
Colin Cross3f4c0df2017-05-04 16:19:06 -070073 "frameworks/base/core/jni",
74 "frameworks/native/include/media/openmax",
75 "system/media/camera/include",
76 ],
77
78 cflags: [
Colin Cross3f4c0df2017-05-04 16:19:06 -070079 "-DEXPORT=__attribute__((visibility(\"default\")))",
Colin Cross3f4c0df2017-05-04 16:19:06 -070080 "-Werror",
81 "-Wall",
82 ],
83
84 static_libs: [
85 "libgrallocusage",
86 ],
87
Marco Nelissen55b259c2019-09-27 10:21:55 -070088 header_libs: [
Orion Hodsond3fd1ae2020-04-03 09:42:02 +010089 "jni_headers",
Marco Nelissen55b259c2019-09-27 10:21:55 -070090 "libmediadrm_headers",
Marco Nelissen7c96ea72020-01-10 15:46:22 -080091 "libmediametrics_headers",
Marco Nelissen55b259c2019-09-27 10:21:55 -070092 ],
93
Colin Cross3f4c0df2017-05-04 16:19:06 -070094 shared_libs: [
Jayant Chowdhary249e1f22018-09-24 15:07:45 -070095 "android.hardware.graphics.bufferqueue@1.0",
96 "android.hidl.token@1.0-utils",
Jooyung Hanf92acc72019-03-07 17:43:25 +090097 "libandroid_runtime_lazy",
John W. Bruce9c4e0fa2019-05-03 17:12:44 -070098 "libbase",
Marco Nelissenfa8be7d2019-09-23 12:15:57 -070099 "libdatasource",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700100 "libmedia",
Marco Nelissen55b259c2019-09-27 10:21:55 -0700101 "libmediadrm",
Jae Shin8568cb92017-10-30 11:13:36 +0900102 "libmedia_omx",
Jooyung Han92f64622019-02-22 16:19:46 +0900103 "libmedia_jni_utils",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700104 "libstagefright",
105 "libstagefright_foundation",
106 "liblog",
107 "libutils",
108 "libcutils",
Jooyung Hanc34e4532019-02-21 11:34:07 +0900109 "libnativewindow",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700110 "libhidlbase",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700111 "libgui",
112 "libui",
Robert Shih2568eb92018-09-19 10:00:46 -0700113 "libmediandk_utils",
Dichen Zhang52a243e2019-11-08 11:02:03 -0800114 "libnativehelper",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700115 ],
116
Orion Hodsond3fd1ae2020-04-03 09:42:02 +0100117 export_header_lib_headers: ["jni_headers"],
118
Chong Zhangefd1c5c2020-11-18 10:33:13 -0800119 export_include_dirs: [
120 "include",
121 "include_platform",
122 ],
Colin Cross3f4c0df2017-05-04 16:19:06 -0700123
Pawin Vongmasa48616152019-02-21 06:28:10 -0800124 export_shared_lib_headers: [
125 "libgui",
126 ],
127
Colin Cross3f4c0df2017-05-04 16:19:06 -0700128 product_variables: {
129 pdk: {
130 enabled: false,
131 },
132 },
dimitryb8aca872018-12-04 15:58:40 +0100133 version_script: "libmediandk.map.txt",
Dongwon Kang33d25352018-12-12 13:36:43 +0000134 stubs: {
135 symbol_file: "libmediandk.map.txt",
136 versions: ["29"],
137 },
Colin Cross3f4c0df2017-05-04 16:19:06 -0700138}
Jiyong Parka88ef502017-08-10 20:12:24 +0900139
140llndk_library {
Colin Cross9b0f94a2020-10-19 13:37:55 -0700141 name: "libmediandk.llndk",
Jiyong Parka88ef502017-08-10 20:12:24 +0900142 symbol_file: "libmediandk.map.txt",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700143 export_include_dirs: [
144 "include",
145 ],
Jiyong Parka88ef502017-08-10 20:12:24 +0900146}
Robert Shih2568eb92018-09-19 10:00:46 -0700147
148cc_library {
149 name: "libmediandk_utils",
150
151 srcs: [
152 "NdkMediaDataSourceCallbacks.cpp",
153 ],
154
155 include_dirs: [
156 "frameworks/av/media/libstagefright/include",
157 "frameworks/av/media/ndk/include",
158 ],
159
160 export_include_dirs: [
161 "include",
162 ],
163
164 cflags: [
165 "-Werror",
166 "-Wno-error=deprecated-declarations",
167 "-Wall",
168 ],
169
Marco Nelissen6b285942019-10-21 14:52:30 -0700170 header_libs: [
171 "libmedia_headers",
172 ],
173
Robert Shih2568eb92018-09-19 10:00:46 -0700174 shared_libs: [
Robert Shih2568eb92018-09-19 10:00:46 -0700175 ],
176
177 sanitize: {
178 misc_undefined: [
179 "unsigned-integer-overflow",
180 "signed-integer-overflow",
181 ],
182 cfi: true,
Robert Shih2568eb92018-09-19 10:00:46 -0700183 },
184}
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700185
186cc_test {
187 name: "AImageReaderWindowHandleTest",
Ray Essickf867ca72020-04-29 19:41:08 -0700188 test_suites: ["device-tests"],
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700189 srcs: ["tests/AImageReaderWindowHandleTest.cpp"],
190 shared_libs: [
191 "libbinder",
192 "libmediandk",
Jayant Chowdhary32b4f492018-11-14 18:38:21 -0800193 "libmediautils",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700194 "libnativewindow",
195 "libgui",
196 "libutils",
197 "libui",
198 "libcutils",
199 "android.hardware.graphics.bufferqueue@1.0",
200 ],
Marco Nelissena51151a2020-01-07 13:37:47 -0800201 header_libs: [
202 "libstagefright_foundation_headers",
203 ],
204
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700205 cflags: [
206 "-D__ANDROID_VNDK__",
207 ],
208 include_dirs: [
209 "frameworks/av/media/ndk/",
210 ],
211}
S Vasudev Prasadaf62b862020-04-22 16:10:05 +0530212
213cc_library_static {
214 name: "libmediandk_format",
215
216 host_supported: true,
217
218 srcs: [
219 "NdkMediaFormat.cpp",
220 ],
221
222 header_libs: [
223 "libstagefright_foundation_headers",
224 ],
225
226 cflags: [
227 "-DEXPORT=__attribute__((visibility(\"default\")))",
228 "-Werror",
229 "-Wall",
230 ],
231
232 export_include_dirs: ["include"],
233
234 sanitize: {
235 misc_undefined: [
236 "unsigned-integer-overflow",
237 "signed-integer-overflow",
238 ],
239 cfi: true,
240 },
241
242 target: {
243 darwin: {
244 enabled: false,
245 },
246 },
247
248 apex_available: ["com.android.media"],
249}