1cc_library_headers {
2    name: "libstagefright_codec2_internal",
3
4    export_include_dirs: [
5        "internal",
6    ],
7
8    // TODO: Remove this when this module is moved back to frameworks/av.
9    vendor_available: true,
10}
11
12// !!!DO NOT DEPEND ON THIS SHARED LIBRARY DIRECTLY!!!
13// use libstagefright_codec2-impl-defaults instead
14cc_library_shared {
15    name: "libstagefright_codec2_vndk",
16    vendor_available: true,
17
18    srcs: [
19        "C2AllocatorIon.cpp",
20        "C2AllocatorGralloc.cpp",
21        "C2Buffer.cpp",
22        "C2Config.cpp",
23        "C2PlatformStorePluginLoader.cpp",
24        "C2Store.cpp",
25        "platform/C2BqBuffer.cpp",
26        "util/C2Debug.cpp",
27        "util/C2InterfaceHelper.cpp",
28        "util/C2InterfaceUtils.cpp",
29        "util/C2ParamUtils.cpp",
30        "v4l2/C2VdaBqBlockPool.cpp",
31    ],
32
33    export_include_dirs: [
34        "include",
35    ],
36
37    export_shared_lib_headers: [
38        "libbase",
39        "android.hardware.media.bufferpool@1.0",
40    ],
41
42    local_include_dirs: [
43        "internal",
44    ],
45
46    include_dirs: [
47        "frameworks/native/include/media/hardware",
48        "hardware/google/av/codec2/include",
49    ],
50
51    shared_libs: [
52        "android.hardware.graphics.allocator@2.0",
53        "android.hardware.graphics.bufferqueue@1.0",
54        "android.hardware.graphics.mapper@2.0",
55        "android.hardware.media.bufferpool@1.0",
56        "libbase",
57        "libbinder",
58        "libcutils",
59        "libdl",
60        "libhardware",
61        "libhidlbase",
62        "libion",
63        "libfmq",
64        "liblog",
65        "libstagefright_bufferqueue_helper",
66        "libstagefright_foundation",
67        "libstagefright_bufferpool@1.0",
68        "libui",
69        "libutils",
70    ],
71
72    cflags: [
73        "-Werror",
74        "-Wall",
75        "-std=c++14",
76    ],
77}
78
79// public dependency for implementing Codec 2 components
80cc_defaults {
81    name: "libstagefright_codec2-impl-defaults",
82
83    shared_libs: [
84        "libbase", // for C2_LOG
85        "liblog", // for ALOG
86        "libstagefright_codec2",
87        "libstagefright_codec2_vndk",
88        "libutils",
89    ],
90}
91
92// public dependency for implementing Codec 2 framework utilities
93// THIS IS ONLY FOR FRAMEWORK USE ONLY
94cc_defaults {
95    name: "libstagefright_codec2-internal-defaults",
96    defaults: ["libstagefright_codec2-impl-defaults"],
97
98    shared_libs: [
99        "libcutils", // for properties
100    ],
101
102    // TODO: separate internal headers so they can be exposed here
103}
104
105subdirs = [
106    "bufferpool",
107]
108