blob: 13791c969b2ad02d186f589aae9a45edec0e4a51 [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,
Jooyung Han2c0d4972020-05-22 00:42:12 +090038 apex_available: [
39 "//apex_available:platform",
40 "com.android.media",
41 "com.android.media.swcodec",
42 ],
43 min_sdk_version: "29",
S Vasudev Prasadebbc3232020-03-13 15:59:32 +053044 export_include_dirs: ["include"],
45 host_supported: true,
46 target: {
47 darwin: {
48 enabled: false,
49 },
50 },
Marco Nelissen5dcf85a2018-10-11 09:49:02 -070051}
52
Colin Cross3f4c0df2017-05-04 16:19:06 -070053cc_library_shared {
54 name: "libmediandk",
55
56 srcs: [
57 "NdkMediaCodec.cpp",
58 "NdkMediaCrypto.cpp",
Robert Shih0df451b2017-12-08 14:16:50 -080059 "NdkMediaDataSource.cpp",
Colin Cross3f4c0df2017-05-04 16:19:06 -070060 "NdkMediaExtractor.cpp",
61 "NdkMediaFormat.cpp",
62 "NdkMediaMuxer.cpp",
63 "NdkMediaDrm.cpp",
64 "NdkImage.cpp",
65 "NdkImageReader.cpp",
66 ],
67
68 include_dirs: [
Colin Cross3f4c0df2017-05-04 16:19:06 -070069 "frameworks/base/core/jni",
70 "frameworks/native/include/media/openmax",
71 "system/media/camera/include",
72 ],
73
74 cflags: [
Colin Cross3f4c0df2017-05-04 16:19:06 -070075 "-DEXPORT=__attribute__((visibility(\"default\")))",
Colin Cross3f4c0df2017-05-04 16:19:06 -070076 "-Werror",
77 "-Wall",
78 ],
79
80 static_libs: [
81 "libgrallocusage",
82 ],
83
Marco Nelissen55b259c2019-09-27 10:21:55 -070084 header_libs: [
Orion Hodsond3fd1ae2020-04-03 09:42:02 +010085 "jni_headers",
Marco Nelissen55b259c2019-09-27 10:21:55 -070086 "libmediadrm_headers",
87 ],
88
Colin Cross3f4c0df2017-05-04 16:19:06 -070089 shared_libs: [
Jayant Chowdhary249e1f22018-09-24 15:07:45 -070090 "android.hardware.graphics.bufferqueue@1.0",
91 "android.hidl.token@1.0-utils",
Jooyung Hanf92acc72019-03-07 17:43:25 +090092 "libandroid_runtime_lazy",
John W. Bruce9c4e0fa2019-05-03 17:12:44 -070093 "libbase",
Colin Cross3f4c0df2017-05-04 16:19:06 -070094 "libbinder",
Marco Nelissenfa8be7d2019-09-23 12:15:57 -070095 "libdatasource",
Colin Cross3f4c0df2017-05-04 16:19:06 -070096 "libmedia",
Marco Nelissen55b259c2019-09-27 10:21:55 -070097 "libmediadrm",
Jae Shin8568cb92017-10-30 11:13:36 +090098 "libmedia_omx",
Jooyung Han92f64622019-02-22 16:19:46 +090099 "libmedia_jni_utils",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700100 "libstagefright",
101 "libstagefright_foundation",
102 "liblog",
103 "libutils",
104 "libcutils",
Jooyung Hanc34e4532019-02-21 11:34:07 +0900105 "libnativewindow",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700106 "libbinder",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700107 "libhidlbase",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700108 "libgui",
109 "libui",
Robert Shih2568eb92018-09-19 10:00:46 -0700110 "libmediandk_utils",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700111 ],
112
Orion Hodsond3fd1ae2020-04-03 09:42:02 +0100113 export_header_lib_headers: ["jni_headers"],
114
Colin Cross3f4c0df2017-05-04 16:19:06 -0700115 export_include_dirs: ["include"],
116
Pawin Vongmasa48616152019-02-21 06:28:10 -0800117 export_shared_lib_headers: [
118 "libgui",
119 ],
120
Colin Cross3f4c0df2017-05-04 16:19:06 -0700121 product_variables: {
122 pdk: {
123 enabled: false,
124 },
125 },
dimitryb8aca872018-12-04 15:58:40 +0100126 version_script: "libmediandk.map.txt",
Dongwon Kang33d25352018-12-12 13:36:43 +0000127 stubs: {
128 symbol_file: "libmediandk.map.txt",
129 versions: ["29"],
130 },
Colin Cross3f4c0df2017-05-04 16:19:06 -0700131}
Jiyong Parka88ef502017-08-10 20:12:24 +0900132
133llndk_library {
134 name: "libmediandk",
135 symbol_file: "libmediandk.map.txt",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700136 export_include_dirs: [
137 "include",
138 ],
Jiyong Parka88ef502017-08-10 20:12:24 +0900139}
Robert Shih2568eb92018-09-19 10:00:46 -0700140
141cc_library {
142 name: "libmediandk_utils",
143
144 srcs: [
145 "NdkMediaDataSourceCallbacks.cpp",
146 ],
147
148 include_dirs: [
149 "frameworks/av/media/libstagefright/include",
150 "frameworks/av/media/ndk/include",
151 ],
152
153 export_include_dirs: [
154 "include",
155 ],
156
157 cflags: [
158 "-Werror",
159 "-Wno-error=deprecated-declarations",
160 "-Wall",
161 ],
162
Marco Nelissen6b285942019-10-21 14:52:30 -0700163 header_libs: [
164 "libmedia_headers",
165 ],
166
Robert Shih2568eb92018-09-19 10:00:46 -0700167 shared_libs: [
Robert Shih2568eb92018-09-19 10:00:46 -0700168 ],
169
170 sanitize: {
171 misc_undefined: [
172 "unsigned-integer-overflow",
173 "signed-integer-overflow",
174 ],
175 cfi: true,
Robert Shih2568eb92018-09-19 10:00:46 -0700176 },
177}
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700178
179cc_test {
180 name: "AImageReaderWindowHandleTest",
181 srcs: ["tests/AImageReaderWindowHandleTest.cpp"],
182 shared_libs: [
183 "libbinder",
184 "libmediandk",
Jayant Chowdhary32b4f492018-11-14 18:38:21 -0800185 "libmediautils",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700186 "libnativewindow",
187 "libgui",
188 "libutils",
189 "libui",
190 "libcutils",
191 "android.hardware.graphics.bufferqueue@1.0",
192 ],
193 cflags: [
194 "-D__ANDROID_VNDK__",
195 ],
196 include_dirs: [
197 "frameworks/av/media/ndk/",
198 ],
199}
S Vasudev Prasadaf62b862020-04-22 16:10:05 +0530200
201cc_library_static {
202 name: "libmediandk_format",
203
204 host_supported: true,
205
206 srcs: [
207 "NdkMediaFormat.cpp",
208 ],
209
210 header_libs: [
211 "libstagefright_foundation_headers",
212 ],
213
214 cflags: [
215 "-DEXPORT=__attribute__((visibility(\"default\")))",
216 "-Werror",
217 "-Wall",
218 ],
219
220 export_include_dirs: ["include"],
221
222 sanitize: {
223 misc_undefined: [
224 "unsigned-integer-overflow",
225 "signed-integer-overflow",
226 ],
227 cfi: true,
228 },
229
230 target: {
231 darwin: {
232 enabled: false,
233 },
234 },
235
236 apex_available: ["com.android.media"],
237}