1// DO NOT DEPEND ON THIS DIRECTLY
2// use libcodec2-hidl-client-defaults instead
3package {
4    // See: http://go/android-license-faq
5    // A large-scale-change added 'default_applicable_licenses' to import
6    // all of the 'license_kinds' from "frameworks_av_license"
7    // to get the below license kinds:
8    //   SPDX-license-identifier-Apache-2.0
9    default_applicable_licenses: ["frameworks_av_license"],
10}
11
12cc_library {
13    name: "libcodec2_hidl_client@1.2",
14
15    defaults: ["hidl_defaults"],
16
17    srcs: [
18        "types.cpp",
19    ],
20
21    header_libs: [
22        "libcodec2_internal", // private
23    ],
24
25    shared_libs: [
26        "android.hardware.media.bufferpool@2.0",
27        "android.hardware.media.c2@1.0",
28        "android.hardware.media.c2@1.1",
29        "android.hardware.media.c2@1.2",
30        "libbase",
31        "libcodec2",
32        "libcodec2_hidl_client@1.0",
33        "libcodec2_hidl_client@1.1",
34        "libcodec2_vndk",
35        "libcutils",
36        "libgui",
37        "libhidlbase",
38        "liblog",
39        "libstagefright_bufferpool@2.0.1",
40        "libui",
41        "libutils",
42    ],
43
44    export_include_dirs: [
45        "include",
46    ],
47
48    export_shared_lib_headers: [
49        "android.hardware.media.c2@1.0",
50        "android.hardware.media.c2@1.1",
51        "android.hardware.media.c2@1.2",
52        "libcodec2",
53        "libcodec2_hidl_client@1.0",
54        "libcodec2_hidl_client@1.1",
55        "libgui",
56        "libstagefright_bufferpool@2.0.1",
57        "libui",
58    ],
59
60    // Device does not boot when global ThinLTO is enabled for this library.
61    // http://b/170595429
62    lto: {
63        never: true,
64    },
65}
66
67
68// DO NOT DEPEND ON THIS DIRECTLY
69// use libcodec2-hidl-defaults instead
70cc_library {
71    name: "libcodec2_hidl@1.2",
72    vendor_available: true,
73    min_sdk_version: "29",
74    apex_available: [
75        "//apex_available:platform",
76        "com.android.media.swcodec",
77        "test_com.android.media.swcodec",
78    ],
79
80    defaults: ["hidl_defaults"],
81
82    srcs: [
83        "Component.cpp",
84        "ComponentInterface.cpp",
85        "ComponentStore.cpp",
86        "Configurable.cpp",
87        "InputBufferManager.cpp",
88        "InputSurface.cpp",
89        "InputSurfaceConnection.cpp",
90        "types.cpp",
91    ],
92
93    header_libs: [
94        "libbinder_headers",
95        "libsystem_headers",
96        "libcodec2_internal", // private
97    ],
98
99    shared_libs: [
100        "android.hardware.graphics.bufferqueue@1.0",
101        "android.hardware.graphics.bufferqueue@2.0",
102        "android.hardware.graphics.common@1.0",
103        "android.hardware.media@1.0",
104        "android.hardware.media.bufferpool@2.0",
105        "android.hardware.media.c2@1.0",
106        "android.hardware.media.c2@1.1",
107        "android.hardware.media.c2@1.2",
108        "android.hardware.media.omx@1.0",
109        "libbase",
110        "libcodec2",
111        "libcodec2_hidl@1.0",
112        "libcodec2_hidl@1.1",
113        "libcodec2_hidl_plugin_stub",
114        "libcodec2_vndk",
115        "libcutils",
116        "libhidlbase",
117        "liblog",
118        "libstagefright_bufferpool@2.0.1",
119        "libstagefright_bufferqueue_helper_novndk",
120        "libui",
121        "libutils",
122    ],
123
124    target: {
125        vendor: {
126            exclude_shared_libs: [
127                "libstagefright_bufferqueue_helper_novndk",
128                "libcodec2_hidl_plugin_stub",
129            ],
130            shared_libs: [
131                "libstagefright_bufferqueue_helper",
132                "libcodec2_hidl_plugin",
133            ],
134        },
135        apex: {
136            exclude_shared_libs: [
137                "libcodec2_hidl_plugin_stub",
138                "libcodec2_hidl_plugin",
139            ],
140        },
141    },
142
143    export_include_dirs: [
144        "include",
145    ],
146
147    export_shared_lib_headers: [
148        "android.hardware.media.c2@1.0",
149        "android.hardware.media.c2@1.1",
150        "android.hardware.media.c2@1.2",
151        "libcodec2",
152        "libcodec2_hidl@1.0",
153        "libcodec2_hidl@1.1",
154        "libcodec2_vndk",
155        "libhidlbase",
156        "libstagefright_bufferpool@2.0.1",
157        "libui",
158    ],
159}
160
161// public dependency for Codec 2.0 HAL service implementations
162cc_defaults {
163    name: "libcodec2-hidl-defaults@1.2",
164    defaults: ["libcodec2-impl-defaults"],
165
166    shared_libs: [
167        "android.hardware.media.c2@1.0",
168        "android.hardware.media.c2@1.1",
169        "android.hardware.media.c2@1.2",
170        "libcodec2_hidl@1.0",
171        "libcodec2_hidl@1.1",
172        "libcodec2_hidl@1.2",
173        "libcodec2_vndk",
174        "libhidlbase",
175    ],
176}
177
178// public dependency for Codec 2.0 HAL client
179cc_defaults {
180    name: "libcodec2-hidl-client-defaults@1.2",
181    defaults: ["libcodec2-impl-defaults"],
182
183    shared_libs: [
184        "android.hardware.media.c2@1.0",
185        "android.hardware.media.c2@1.1",
186        "android.hardware.media.c2@1.2",
187        "libcodec2_hidl_client@1.0",
188        "libcodec2_hidl_client@1.1",
189        "libcodec2_hidl_client@1.2",
190        "libcodec2_vndk",
191        "libhidlbase",
192    ],
193}
194
195// Alias to the latest "defaults" for Codec 2.0 HAL service implementations
196cc_defaults {
197    name: "libcodec2-hidl-defaults",
198    defaults: ["libcodec2-hidl-defaults@1.2"],
199}
200
201// Alias to the latest "defaults" for Codec 2.0 HAL client
202cc_defaults {
203    name: "libcodec2-hidl-client-defaults",
204    defaults: ["libcodec2-hidl-client-defaults@1.2"],
205}
206
207