// Copyright (C) 2016 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // Headers module is in frameworks/av/Android.bp because modules are not allowed // to refer to headers in parent directories and the headers live in // frameworks/av/include. ndk_library { name: "libmediandk", symbol_file: "libmediandk.map.txt", first_version: "21", unversioned_until: "current", } ndk_headers { name: "libmediandk_headers", from: "include/media", to: "media", srcs: ["include/media/**/*.h"], license: "NOTICE", } // for use with header_libs cc_library_headers { name: "media_ndk_headers", vendor_available: true, export_include_dirs: ["include"] } cc_library_shared { name: "libmediandk", srcs: [ "NdkMediaCodec.cpp", "NdkMediaCrypto.cpp", "NdkMediaDataSource.cpp", "NdkMediaExtractor.cpp", "NdkMediaFormat.cpp", "NdkMediaMuxer.cpp", "NdkMediaDrm.cpp", "NdkImage.cpp", "NdkImageReader.cpp", ], include_dirs: [ "bionic/libc/private", "frameworks/base/core/jni", "frameworks/native/include/media/openmax", "system/media/camera/include", ], cflags: [ "-DEXPORT=__attribute__((visibility(\"default\")))", "-Werror", "-Wall", ], static_libs: [ "libgrallocusage", ], shared_libs: [ "android.hardware.graphics.bufferqueue@1.0", "android.hidl.token@1.0-utils", "libandroid_runtime_lazy", "libbase", "libbinder", "libmedia", "libmedia_omx", "libmedia_jni_utils", "libmediadrm", "libstagefright", "libstagefright_foundation", "liblog", "libutils", "libcutils", "libnativewindow", "libbinder", "libhidlbase", "libgui", "libui", "libmedia2_jni_core", "libmediandk_utils", ], export_include_dirs: ["include"], export_shared_lib_headers: [ "libgui", ], product_variables: { pdk: { enabled: false, }, }, version_script: "libmediandk.map.txt", stubs: { symbol_file: "libmediandk.map.txt", versions: ["29"], }, // Bug: http://b/124522995 libmediandk has linker errors when built with // coverage native_coverage: false, } llndk_library { name: "libmediandk", symbol_file: "libmediandk.map.txt", export_include_dirs: [ "include", ], } cc_library { name: "libmediandk_utils", srcs: [ "NdkMediaDataSourceCallbacks.cpp", ], include_dirs: [ "frameworks/av/media/libstagefright/include", "frameworks/av/media/ndk/include", ], export_include_dirs: [ "include", ], cflags: [ "-Werror", "-Wno-error=deprecated-declarations", "-Wall", ], shared_libs: [ ], sanitize: { misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", ], cfi: true, }, } cc_test { name: "AImageReaderWindowHandleTest", srcs: ["tests/AImageReaderWindowHandleTest.cpp"], shared_libs: [ "libbinder", "libmediandk", "libmediautils", "libnativewindow", "libgui", "libutils", "libui", "libcutils", "android.hardware.graphics.bufferqueue@1.0", ], cflags: [ "-D__ANDROID_VNDK__", ], include_dirs: [ "frameworks/av/media/ndk/", ], }