package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "frameworks_av_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_av_license"], } cc_library_headers { name: "libcodec2_internal", export_include_dirs: [ "internal", ], // TODO: Remove this when this module is moved back to frameworks/av. vendor_available: true, min_sdk_version: "29", apex_available: [ "//apex_available:platform", "com.android.media.swcodec", ], } cc_library_headers { name: "libcodec2_vndk_headers", vendor_available: true, min_sdk_version: "29", export_include_dirs: [ "include", ], apex_available: [ "//apex_available:platform", "com.android.media.swcodec", ], } // !!!DO NOT DEPEND ON THIS SHARED LIBRARY DIRECTLY!!! // use libcodec2-impl-defaults instead cc_library { name: "libcodec2_vndk", vendor_available: true, min_sdk_version: "29", // TODO: b/147147883 double_loadable: true, apex_available: [ "//apex_available:platform", "com.android.media.swcodec", ], srcs: [ "C2AllocatorBlob.cpp", "C2AllocatorIon.cpp", "C2AllocatorGralloc.cpp", "C2Buffer.cpp", "C2Config.cpp", "C2DmaBufAllocator.cpp", "C2Fence.cpp", "C2PlatformStorePluginLoader.cpp", "C2Store.cpp", "platform/C2BqBuffer.cpp", "platform/C2SurfaceSyncObj.cpp", "types.cpp", "util/C2Debug.cpp", "util/C2InterfaceHelper.cpp", "util/C2InterfaceUtils.cpp", "util/C2ParamUtils.cpp", ], export_include_dirs: [ "include", ], export_shared_lib_headers: [ "libbase", "libdmabufheap", "android.hardware.media.bufferpool@2.0", ], local_include_dirs: [ "internal", ], header_libs: [ "media_plugin_headers", "libcodec2_headers", ], shared_libs: [ "android.hardware.graphics.bufferqueue@2.0", "android.hardware.graphics.common@1.2", "android.hardware.media.bufferpool@2.0", "libbase", "libcutils", "libdl", "libdmabufheap", "libfmq", "libgralloctypes", "libhidlbase", "libion", "liblog", "libnativewindow", "libstagefright_foundation", "libstagefright_bufferpool@2.0.1", "libui", "libutils", ], cflags: [ "-Werror", "-Wall", ], } // public dependency for statically linking to libcodec2_vndk for unit tests cc_defaults { name: "libcodec2-static-defaults", static_libs: [ "liblog", "libion", "libfmq", "libbase", "libutils", "libcutils", "libcodec2", "libhidlbase", "libdmabufheap", "libcodec2_vndk", "libnativewindow", "libcodec2_soft_common", "libsfplugin_ccodec_utils", "libstagefright_foundation", "libstagefright_bufferpool@2.0.1", "libgralloctypes", "android.hardware.graphics.mapper@2.0", "android.hardware.graphics.mapper@3.0", "android.hardware.media.bufferpool@2.0", "android.hardware.graphics.allocator@2.0", "android.hardware.graphics.allocator@3.0", "android.hardware.graphics.bufferqueue@2.0", ], shared_libs: [ "libui", "libdl", "libvndksupport", "libprocessgroup", ], } // public dependency for implementing Codec 2 components cc_defaults { name: "libcodec2-impl-defaults", shared_libs: [ "libbase", // for C2_LOG "liblog", // for ALOG "libcodec2", "libcodec2_vndk", "libutils", ], min_sdk_version: "29", } // public dependency for implementing Codec 2 framework utilities // THIS IS ONLY FOR FRAMEWORK USE ONLY cc_defaults { name: "libcodec2-internal-defaults", defaults: ["libcodec2-impl-defaults"], header_libs: [ "libcodec2_internal", ], shared_libs: [ "libcutils", // for properties ], // TODO: separate internal headers so they can be exposed here }