1*ec779b8eSAndroid Build Coastguard Worker// Copyright (C) 2016 The Android Open Source Project 2*ec779b8eSAndroid Build Coastguard Worker// 3*ec779b8eSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*ec779b8eSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*ec779b8eSAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*ec779b8eSAndroid Build Coastguard Worker// 7*ec779b8eSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*ec779b8eSAndroid Build Coastguard Worker// 9*ec779b8eSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*ec779b8eSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*ec779b8eSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*ec779b8eSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*ec779b8eSAndroid Build Coastguard Worker// limitations under the License. 14*ec779b8eSAndroid Build Coastguard Worker 15*ec779b8eSAndroid Build Coastguard Worker// Headers module is in frameworks/av/Android.bp because modules are not allowed 16*ec779b8eSAndroid Build Coastguard Worker// to refer to headers in parent directories and the headers live in 17*ec779b8eSAndroid Build Coastguard Worker// frameworks/av/include. 18*ec779b8eSAndroid Build Coastguard Worker 19*ec779b8eSAndroid Build Coastguard Workerpackage { 20*ec779b8eSAndroid Build Coastguard Worker default_applicable_licenses: ["frameworks_av_media_ndk_license"], 21*ec779b8eSAndroid Build Coastguard Worker} 22*ec779b8eSAndroid Build Coastguard Worker 23*ec779b8eSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 24*ec779b8eSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 25*ec779b8eSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 26*ec779b8eSAndroid Build Coastguard Worker// 27*ec779b8eSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 28*ec779b8eSAndroid Build Coastguard Worker// 29*ec779b8eSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 30*ec779b8eSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 31*ec779b8eSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 32*ec779b8eSAndroid Build Coastguard Worker// 33*ec779b8eSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 34*ec779b8eSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 35*ec779b8eSAndroid Build Coastguard Worker// used in the current project. 36*ec779b8eSAndroid Build Coastguard Worker// See: http://go/android-license-faq 37*ec779b8eSAndroid Build Coastguard Workerlicense { 38*ec779b8eSAndroid Build Coastguard Worker name: "frameworks_av_media_ndk_license", 39*ec779b8eSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 40*ec779b8eSAndroid Build Coastguard Worker license_kinds: [ 41*ec779b8eSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 42*ec779b8eSAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 43*ec779b8eSAndroid Build Coastguard Worker "SPDX-license-identifier-Unicode-DFS", 44*ec779b8eSAndroid Build Coastguard Worker ], 45*ec779b8eSAndroid Build Coastguard Worker license_text: [ 46*ec779b8eSAndroid Build Coastguard Worker "NOTICE", 47*ec779b8eSAndroid Build Coastguard Worker ], 48*ec779b8eSAndroid Build Coastguard Worker} 49*ec779b8eSAndroid Build Coastguard Worker 50*ec779b8eSAndroid Build Coastguard Workerndk_library { 51*ec779b8eSAndroid Build Coastguard Worker name: "libmediandk", 52*ec779b8eSAndroid Build Coastguard Worker symbol_file: "libmediandk.map.txt", 53*ec779b8eSAndroid Build Coastguard Worker first_version: "21", 54*ec779b8eSAndroid Build Coastguard Worker unversioned_until: "current", 55*ec779b8eSAndroid Build Coastguard Worker} 56*ec779b8eSAndroid Build Coastguard Worker 57*ec779b8eSAndroid Build Coastguard Workerndk_headers { 58*ec779b8eSAndroid Build Coastguard Worker name: "libmediandk_headers", 59*ec779b8eSAndroid Build Coastguard Worker from: "include/media", 60*ec779b8eSAndroid Build Coastguard Worker to: "media", 61*ec779b8eSAndroid Build Coastguard Worker srcs: ["include/media/**/*.h"], 62*ec779b8eSAndroid Build Coastguard Worker license: "NOTICE", 63*ec779b8eSAndroid Build Coastguard Worker} 64*ec779b8eSAndroid Build Coastguard Worker 65*ec779b8eSAndroid Build Coastguard Worker// for use with header_libs 66*ec779b8eSAndroid Build Coastguard Worker// supports use as <media/NdkMediaExtractor.h> not <NdkMediaExtractor.h> 67*ec779b8eSAndroid Build Coastguard Workercc_library_headers { 68*ec779b8eSAndroid Build Coastguard Worker name: "media_ndk_headers", 69*ec779b8eSAndroid Build Coastguard Worker vendor_available: true, 70*ec779b8eSAndroid Build Coastguard Worker // TODO(b/153609531): remove when no longer needed. 71*ec779b8eSAndroid Build Coastguard Worker native_bridge_supported: true, 72*ec779b8eSAndroid Build Coastguard Worker apex_available: [ 73*ec779b8eSAndroid Build Coastguard Worker "//apex_available:platform", 74*ec779b8eSAndroid Build Coastguard Worker "com.android.media", 75*ec779b8eSAndroid Build Coastguard Worker "com.android.media.swcodec", 76*ec779b8eSAndroid Build Coastguard Worker ], 77*ec779b8eSAndroid Build Coastguard Worker min_sdk_version: "29", 78*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: ["include"], 79*ec779b8eSAndroid Build Coastguard Worker host_supported: true, 80*ec779b8eSAndroid Build Coastguard Worker target: { 81*ec779b8eSAndroid Build Coastguard Worker darwin: { 82*ec779b8eSAndroid Build Coastguard Worker enabled: false, 83*ec779b8eSAndroid Build Coastguard Worker }, 84*ec779b8eSAndroid Build Coastguard Worker }, 85*ec779b8eSAndroid Build Coastguard Worker} 86*ec779b8eSAndroid Build Coastguard Worker 87*ec779b8eSAndroid Build Coastguard Workercc_library_shared { 88*ec779b8eSAndroid Build Coastguard Worker name: "libmediandk", 89*ec779b8eSAndroid Build Coastguard Worker llndk: { 90*ec779b8eSAndroid Build Coastguard Worker symbol_file: "libmediandk.map.txt", 91*ec779b8eSAndroid Build Coastguard Worker }, 92*ec779b8eSAndroid Build Coastguard Worker 93*ec779b8eSAndroid Build Coastguard Worker srcs: [ 94*ec779b8eSAndroid Build Coastguard Worker "NdkJavaVMHelper.cpp", 95*ec779b8eSAndroid Build Coastguard Worker "NdkMediaCodec.cpp", 96*ec779b8eSAndroid Build Coastguard Worker "NdkMediaCodecInfo.cpp", 97*ec779b8eSAndroid Build Coastguard Worker "NdkMediaCodecStore.cpp", 98*ec779b8eSAndroid Build Coastguard Worker "NdkMediaCrypto.cpp", 99*ec779b8eSAndroid Build Coastguard Worker "NdkMediaDataSource.cpp", 100*ec779b8eSAndroid Build Coastguard Worker "NdkMediaExtractor.cpp", 101*ec779b8eSAndroid Build Coastguard Worker "NdkMediaFormat.cpp", 102*ec779b8eSAndroid Build Coastguard Worker "NdkMediaMuxer.cpp", 103*ec779b8eSAndroid Build Coastguard Worker "NdkMediaDrm.cpp", 104*ec779b8eSAndroid Build Coastguard Worker "NdkImage.cpp", 105*ec779b8eSAndroid Build Coastguard Worker "NdkImageReader.cpp", 106*ec779b8eSAndroid Build Coastguard Worker ], 107*ec779b8eSAndroid Build Coastguard Worker 108*ec779b8eSAndroid Build Coastguard Worker include_dirs: [ 109*ec779b8eSAndroid Build Coastguard Worker "system/media/camera/include", 110*ec779b8eSAndroid Build Coastguard Worker ], 111*ec779b8eSAndroid Build Coastguard Worker 112*ec779b8eSAndroid Build Coastguard Worker cflags: [ 113*ec779b8eSAndroid Build Coastguard Worker "-DEXPORT=__attribute__((visibility(\"default\")))", 114*ec779b8eSAndroid Build Coastguard Worker "-Werror", 115*ec779b8eSAndroid Build Coastguard Worker "-Wall", 116*ec779b8eSAndroid Build Coastguard Worker ], 117*ec779b8eSAndroid Build Coastguard Worker 118*ec779b8eSAndroid Build Coastguard Worker static_libs: [ 119*ec779b8eSAndroid Build Coastguard Worker "libgrallocusage", 120*ec779b8eSAndroid Build Coastguard Worker "libnativehelper_lazy", 121*ec779b8eSAndroid Build Coastguard Worker ], 122*ec779b8eSAndroid Build Coastguard Worker 123*ec779b8eSAndroid Build Coastguard Worker header_libs: [ 124*ec779b8eSAndroid Build Coastguard Worker "jni_headers", 125*ec779b8eSAndroid Build Coastguard Worker "libmediadrm_headers", 126*ec779b8eSAndroid Build Coastguard Worker "libmediametrics_headers", 127*ec779b8eSAndroid Build Coastguard Worker ], 128*ec779b8eSAndroid Build Coastguard Worker 129*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 130*ec779b8eSAndroid Build Coastguard Worker "[email protected]", 131*ec779b8eSAndroid Build Coastguard Worker "[email protected]", 132*ec779b8eSAndroid Build Coastguard Worker "libandroid_runtime_lazy", 133*ec779b8eSAndroid Build Coastguard Worker "libbase", 134*ec779b8eSAndroid Build Coastguard Worker "libdatasource", 135*ec779b8eSAndroid Build Coastguard Worker "libmedia", 136*ec779b8eSAndroid Build Coastguard Worker "libmedia_codeclist", 137*ec779b8eSAndroid Build Coastguard Worker "libmedia_codeclist_capabilities", 138*ec779b8eSAndroid Build Coastguard Worker "libmediadrm", 139*ec779b8eSAndroid Build Coastguard Worker "libmedia_omx", 140*ec779b8eSAndroid Build Coastguard Worker "libmedia_jni_utils", 141*ec779b8eSAndroid Build Coastguard Worker "libstagefright", 142*ec779b8eSAndroid Build Coastguard Worker "libstagefright_foundation", 143*ec779b8eSAndroid Build Coastguard Worker "liblog", 144*ec779b8eSAndroid Build Coastguard Worker "libutils", 145*ec779b8eSAndroid Build Coastguard Worker "libcutils", 146*ec779b8eSAndroid Build Coastguard Worker "libnativewindow", 147*ec779b8eSAndroid Build Coastguard Worker "libhidlbase", 148*ec779b8eSAndroid Build Coastguard Worker "libgui", 149*ec779b8eSAndroid Build Coastguard Worker "libui", 150*ec779b8eSAndroid Build Coastguard Worker "libmediandk_utils", 151*ec779b8eSAndroid Build Coastguard Worker "android.hardware.drm-V1-ndk", 152*ec779b8eSAndroid Build Coastguard Worker ], 153*ec779b8eSAndroid Build Coastguard Worker 154*ec779b8eSAndroid Build Coastguard Worker export_header_lib_headers: ["jni_headers"], 155*ec779b8eSAndroid Build Coastguard Worker 156*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: [ 157*ec779b8eSAndroid Build Coastguard Worker "include", 158*ec779b8eSAndroid Build Coastguard Worker "include_platform", 159*ec779b8eSAndroid Build Coastguard Worker ], 160*ec779b8eSAndroid Build Coastguard Worker 161*ec779b8eSAndroid Build Coastguard Worker export_shared_lib_headers: [ 162*ec779b8eSAndroid Build Coastguard Worker "libgui", 163*ec779b8eSAndroid Build Coastguard Worker ], 164*ec779b8eSAndroid Build Coastguard Worker 165*ec779b8eSAndroid Build Coastguard Worker version_script: "libmediandk.map.txt", 166*ec779b8eSAndroid Build Coastguard Worker stubs: { 167*ec779b8eSAndroid Build Coastguard Worker symbol_file: "libmediandk.map.txt", 168*ec779b8eSAndroid Build Coastguard Worker versions: ["29"], 169*ec779b8eSAndroid Build Coastguard Worker }, 170*ec779b8eSAndroid Build Coastguard Worker} 171*ec779b8eSAndroid Build Coastguard Worker 172*ec779b8eSAndroid Build Coastguard Workercc_library { 173*ec779b8eSAndroid Build Coastguard Worker name: "libmediandk_utils", 174*ec779b8eSAndroid Build Coastguard Worker 175*ec779b8eSAndroid Build Coastguard Worker srcs: [ 176*ec779b8eSAndroid Build Coastguard Worker "NdkMediaDataSourceCallbacks.cpp", 177*ec779b8eSAndroid Build Coastguard Worker ], 178*ec779b8eSAndroid Build Coastguard Worker 179*ec779b8eSAndroid Build Coastguard Worker local_include_dirs: [ 180*ec779b8eSAndroid Build Coastguard Worker "include", 181*ec779b8eSAndroid Build Coastguard Worker ], 182*ec779b8eSAndroid Build Coastguard Worker 183*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: [ 184*ec779b8eSAndroid Build Coastguard Worker "include", 185*ec779b8eSAndroid Build Coastguard Worker ], 186*ec779b8eSAndroid Build Coastguard Worker 187*ec779b8eSAndroid Build Coastguard Worker cflags: [ 188*ec779b8eSAndroid Build Coastguard Worker "-Werror", 189*ec779b8eSAndroid Build Coastguard Worker "-Wno-error=deprecated-declarations", 190*ec779b8eSAndroid Build Coastguard Worker "-Wall", 191*ec779b8eSAndroid Build Coastguard Worker ], 192*ec779b8eSAndroid Build Coastguard Worker 193*ec779b8eSAndroid Build Coastguard Worker header_libs: [ 194*ec779b8eSAndroid Build Coastguard Worker "libstagefright_headers", 195*ec779b8eSAndroid Build Coastguard Worker "libmedia_headers", 196*ec779b8eSAndroid Build Coastguard Worker ], 197*ec779b8eSAndroid Build Coastguard Worker 198*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 199*ec779b8eSAndroid Build Coastguard Worker ], 200*ec779b8eSAndroid Build Coastguard Worker 201*ec779b8eSAndroid Build Coastguard Worker sanitize: { 202*ec779b8eSAndroid Build Coastguard Worker misc_undefined: [ 203*ec779b8eSAndroid Build Coastguard Worker "unsigned-integer-overflow", 204*ec779b8eSAndroid Build Coastguard Worker "signed-integer-overflow", 205*ec779b8eSAndroid Build Coastguard Worker ], 206*ec779b8eSAndroid Build Coastguard Worker cfi: true, 207*ec779b8eSAndroid Build Coastguard Worker }, 208*ec779b8eSAndroid Build Coastguard Worker} 209*ec779b8eSAndroid Build Coastguard Worker 210*ec779b8eSAndroid Build Coastguard Workercc_test { 211*ec779b8eSAndroid Build Coastguard Worker name: "AImageReaderWindowTest", 212*ec779b8eSAndroid Build Coastguard Worker test_suites: ["device-tests"], 213*ec779b8eSAndroid Build Coastguard Worker srcs: ["tests/AImageReaderWindowTest.cpp"], 214*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 215*ec779b8eSAndroid Build Coastguard Worker "libbinder", 216*ec779b8eSAndroid Build Coastguard Worker "libmediandk", 217*ec779b8eSAndroid Build Coastguard Worker "libmediautils", 218*ec779b8eSAndroid Build Coastguard Worker "libnativewindow", 219*ec779b8eSAndroid Build Coastguard Worker "libgui", 220*ec779b8eSAndroid Build Coastguard Worker "libhidlbase", 221*ec779b8eSAndroid Build Coastguard Worker "libutils", 222*ec779b8eSAndroid Build Coastguard Worker "libui", 223*ec779b8eSAndroid Build Coastguard Worker "libcutils", 224*ec779b8eSAndroid Build Coastguard Worker "[email protected]", 225*ec779b8eSAndroid Build Coastguard Worker "[email protected]", 226*ec779b8eSAndroid Build Coastguard Worker ], 227*ec779b8eSAndroid Build Coastguard Worker 228*ec779b8eSAndroid Build Coastguard Worker header_libs: [ 229*ec779b8eSAndroid Build Coastguard Worker "libstagefright_foundation_headers", 230*ec779b8eSAndroid Build Coastguard Worker ], 231*ec779b8eSAndroid Build Coastguard Worker 232*ec779b8eSAndroid Build Coastguard Worker cflags: [ 233*ec779b8eSAndroid Build Coastguard Worker "-D__ANDROID_VNDK__", 234*ec779b8eSAndroid Build Coastguard Worker ], 235*ec779b8eSAndroid Build Coastguard Worker} 236*ec779b8eSAndroid Build Coastguard Worker 237*ec779b8eSAndroid Build Coastguard Workercc_library_static { 238*ec779b8eSAndroid Build Coastguard Worker name: "libmediandk_format", 239*ec779b8eSAndroid Build Coastguard Worker 240*ec779b8eSAndroid Build Coastguard Worker host_supported: true, 241*ec779b8eSAndroid Build Coastguard Worker 242*ec779b8eSAndroid Build Coastguard Worker srcs: [ 243*ec779b8eSAndroid Build Coastguard Worker "NdkMediaFormat.cpp", 244*ec779b8eSAndroid Build Coastguard Worker ], 245*ec779b8eSAndroid Build Coastguard Worker 246*ec779b8eSAndroid Build Coastguard Worker header_libs: [ 247*ec779b8eSAndroid Build Coastguard Worker "libstagefright_foundation_headers", 248*ec779b8eSAndroid Build Coastguard Worker ], 249*ec779b8eSAndroid Build Coastguard Worker 250*ec779b8eSAndroid Build Coastguard Worker cflags: [ 251*ec779b8eSAndroid Build Coastguard Worker "-DEXPORT=__attribute__((visibility(\"default\")))", 252*ec779b8eSAndroid Build Coastguard Worker "-Werror", 253*ec779b8eSAndroid Build Coastguard Worker "-Wall", 254*ec779b8eSAndroid Build Coastguard Worker ], 255*ec779b8eSAndroid Build Coastguard Worker 256*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: ["include"], 257*ec779b8eSAndroid Build Coastguard Worker 258*ec779b8eSAndroid Build Coastguard Worker sanitize: { 259*ec779b8eSAndroid Build Coastguard Worker misc_undefined: [ 260*ec779b8eSAndroid Build Coastguard Worker "unsigned-integer-overflow", 261*ec779b8eSAndroid Build Coastguard Worker "signed-integer-overflow", 262*ec779b8eSAndroid Build Coastguard Worker ], 263*ec779b8eSAndroid Build Coastguard Worker cfi: true, 264*ec779b8eSAndroid Build Coastguard Worker }, 265*ec779b8eSAndroid Build Coastguard Worker 266*ec779b8eSAndroid Build Coastguard Worker target: { 267*ec779b8eSAndroid Build Coastguard Worker darwin: { 268*ec779b8eSAndroid Build Coastguard Worker enabled: false, 269*ec779b8eSAndroid Build Coastguard Worker }, 270*ec779b8eSAndroid Build Coastguard Worker }, 271*ec779b8eSAndroid Build Coastguard Worker 272*ec779b8eSAndroid Build Coastguard Worker apex_available: [ 273*ec779b8eSAndroid Build Coastguard Worker "//apex_available:platform", 274*ec779b8eSAndroid Build Coastguard Worker "com.android.media", 275*ec779b8eSAndroid Build Coastguard Worker "com.android.media.swcodec", 276*ec779b8eSAndroid Build Coastguard Worker ], 277*ec779b8eSAndroid Build Coastguard Worker} 278