blob: 80941e0a869c8de17af94b84bb2544b598ade594 [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,
S Vasudev Prasadebbc3232020-03-13 15:59:32 +053038 export_include_dirs: ["include"],
39 host_supported: true,
40 target: {
41 darwin: {
42 enabled: false,
43 },
44 },
Marco Nelissen5dcf85a2018-10-11 09:49:02 -070045}
46
Colin Cross3f4c0df2017-05-04 16:19:06 -070047cc_library_shared {
48 name: "libmediandk",
49
50 srcs: [
Dichen Zhang52a243e2019-11-08 11:02:03 -080051 "NdkJavaVMHelper.cpp",
Colin Cross3f4c0df2017-05-04 16:19:06 -070052 "NdkMediaCodec.cpp",
53 "NdkMediaCrypto.cpp",
Robert Shih0df451b2017-12-08 14:16:50 -080054 "NdkMediaDataSource.cpp",
Colin Cross3f4c0df2017-05-04 16:19:06 -070055 "NdkMediaExtractor.cpp",
56 "NdkMediaFormat.cpp",
57 "NdkMediaMuxer.cpp",
58 "NdkMediaDrm.cpp",
59 "NdkImage.cpp",
60 "NdkImageReader.cpp",
61 ],
62
63 include_dirs: [
Colin Cross3f4c0df2017-05-04 16:19:06 -070064 "frameworks/base/core/jni",
65 "frameworks/native/include/media/openmax",
66 "system/media/camera/include",
67 ],
68
69 cflags: [
Colin Cross3f4c0df2017-05-04 16:19:06 -070070 "-DEXPORT=__attribute__((visibility(\"default\")))",
Colin Cross3f4c0df2017-05-04 16:19:06 -070071 "-Werror",
72 "-Wall",
73 ],
74
75 static_libs: [
76 "libgrallocusage",
77 ],
78
Marco Nelissen55b259c2019-09-27 10:21:55 -070079 header_libs: [
Orion Hodsond3fd1ae2020-04-03 09:42:02 +010080 "jni_headers",
Marco Nelissen55b259c2019-09-27 10:21:55 -070081 "libmediadrm_headers",
Marco Nelissen7c96ea72020-01-10 15:46:22 -080082 "libmediametrics_headers",
Marco Nelissen55b259c2019-09-27 10:21:55 -070083 ],
84
Colin Cross3f4c0df2017-05-04 16:19:06 -070085 shared_libs: [
Jayant Chowdhary249e1f22018-09-24 15:07:45 -070086 "android.hardware.graphics.bufferqueue@1.0",
87 "android.hidl.token@1.0-utils",
Jooyung Hanf92acc72019-03-07 17:43:25 +090088 "libandroid_runtime_lazy",
John W. Bruce9c4e0fa2019-05-03 17:12:44 -070089 "libbase",
Marco Nelissenfa8be7d2019-09-23 12:15:57 -070090 "libdatasource",
Colin Cross3f4c0df2017-05-04 16:19:06 -070091 "libmedia",
Marco Nelissen55b259c2019-09-27 10:21:55 -070092 "libmediadrm",
Jae Shin8568cb92017-10-30 11:13:36 +090093 "libmedia_omx",
Jooyung Han92f64622019-02-22 16:19:46 +090094 "libmedia_jni_utils",
Colin Cross3f4c0df2017-05-04 16:19:06 -070095 "libstagefright",
96 "libstagefright_foundation",
97 "liblog",
98 "libutils",
99 "libcutils",
Jooyung Hanc34e4532019-02-21 11:34:07 +0900100 "libnativewindow",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700101 "libhidlbase",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700102 "libgui",
103 "libui",
Robert Shih2568eb92018-09-19 10:00:46 -0700104 "libmediandk_utils",
Dichen Zhang52a243e2019-11-08 11:02:03 -0800105 "libnativehelper",
Colin Cross3f4c0df2017-05-04 16:19:06 -0700106 ],
107
Orion Hodsond3fd1ae2020-04-03 09:42:02 +0100108 export_header_lib_headers: ["jni_headers"],
109
Colin Cross3f4c0df2017-05-04 16:19:06 -0700110 export_include_dirs: ["include"],
111
Pawin Vongmasa48616152019-02-21 06:28:10 -0800112 export_shared_lib_headers: [
113 "libgui",
114 ],
115
Colin Cross3f4c0df2017-05-04 16:19:06 -0700116 product_variables: {
117 pdk: {
118 enabled: false,
119 },
120 },
dimitryb8aca872018-12-04 15:58:40 +0100121 version_script: "libmediandk.map.txt",
Dongwon Kang33d25352018-12-12 13:36:43 +0000122 stubs: {
123 symbol_file: "libmediandk.map.txt",
124 versions: ["29"],
125 },
Colin Cross3f4c0df2017-05-04 16:19:06 -0700126}
Jiyong Parka88ef502017-08-10 20:12:24 +0900127
128llndk_library {
129 name: "libmediandk",
130 symbol_file: "libmediandk.map.txt",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700131 export_include_dirs: [
132 "include",
133 ],
Jiyong Parka88ef502017-08-10 20:12:24 +0900134}
Robert Shih2568eb92018-09-19 10:00:46 -0700135
136cc_library {
137 name: "libmediandk_utils",
138
139 srcs: [
140 "NdkMediaDataSourceCallbacks.cpp",
141 ],
142
143 include_dirs: [
144 "frameworks/av/media/libstagefright/include",
145 "frameworks/av/media/ndk/include",
146 ],
147
148 export_include_dirs: [
149 "include",
150 ],
151
152 cflags: [
153 "-Werror",
154 "-Wno-error=deprecated-declarations",
155 "-Wall",
156 ],
157
Marco Nelissen6b285942019-10-21 14:52:30 -0700158 header_libs: [
159 "libmedia_headers",
160 ],
161
Robert Shih2568eb92018-09-19 10:00:46 -0700162 shared_libs: [
Robert Shih2568eb92018-09-19 10:00:46 -0700163 ],
164
165 sanitize: {
166 misc_undefined: [
167 "unsigned-integer-overflow",
168 "signed-integer-overflow",
169 ],
170 cfi: true,
Robert Shih2568eb92018-09-19 10:00:46 -0700171 },
172}
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700173
174cc_test {
175 name: "AImageReaderWindowHandleTest",
176 srcs: ["tests/AImageReaderWindowHandleTest.cpp"],
177 shared_libs: [
178 "libbinder",
179 "libmediandk",
Jayant Chowdhary32b4f492018-11-14 18:38:21 -0800180 "libmediautils",
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700181 "libnativewindow",
182 "libgui",
183 "libutils",
184 "libui",
185 "libcutils",
186 "android.hardware.graphics.bufferqueue@1.0",
187 ],
Marco Nelissena51151a2020-01-07 13:37:47 -0800188 header_libs: [
189 "libstagefright_foundation_headers",
190 ],
191
Jayant Chowdhary249e1f22018-09-24 15:07:45 -0700192 cflags: [
193 "-D__ANDROID_VNDK__",
194 ],
195 include_dirs: [
196 "frameworks/av/media/ndk/",
197 ],
198}