xref: /aosp_15_r20/frameworks/av/media/module/extractors/fuzzers/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1/******************************************************************************
2 *
3 * Copyright (C) 2020 The Android Open Source Project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at:
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *****************************************************************************
18 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19 */
20package {
21    // See: http://go/android-license-faq
22    // A large-scale-change added 'default_applicable_licenses' to import
23    // all of the 'license_kinds' from "frameworks_av_license"
24    // to get the below license kinds:
25    //   SPDX-license-identifier-Apache-2.0
26    default_applicable_licenses: ["frameworks_av_license"],
27    default_team: "trendy_team_android_media_solutions_playback",
28}
29
30cc_defaults {
31    name: "extractor-fuzzerbase-defaults",
32
33    local_include_dirs: [
34        "include",
35    ],
36
37    export_include_dirs: [
38        "include",
39    ],
40
41    static_libs: [
42        "liblog",
43        "libstagefright_foundation_colorutils_ndk",
44        "libstagefright_foundation",
45        "libmediandk_format",
46        "libmedia_ndkformatpriv",
47    ],
48
49    shared_libs: [
50        "libutils",
51        "libbinder",
52        "libbase",
53        "libcutils",
54    ],
55
56    target: {
57        darwin: {
58            enabled: false,
59        },
60    },
61}
62
63cc_defaults {
64    name: "extractor-fuzzer-defaults",
65    defaults: ["extractor-fuzzerbase-defaults"],
66
67    static_libs: [
68        "libextractorfuzzerbase",
69    ],
70
71    fuzz_config: {
72        cc: [
73            "[email protected]",
74        ],
75        componentid: 817235,
76        hotlists: [
77            "4593311",
78        ],
79        description: "The fuzzers targets the APIs of all the various extractors",
80        vector: "remote",
81        service_privilege: "constrained",
82        users: "multi_user",
83        fuzzed_code_usage: "shipped",
84    },
85}
86
87cc_defaults {
88    name: "mpeg2-extractor-fuzzer-defaults",
89    defaults: ["extractor-fuzzer-defaults"],
90    host_supported: true,
91
92    static_libs: [
93        "libstagefright_foundation_without_imemory",
94        "libstagefright_mpeg2support",
95        "libstagefright_mpeg2extractor",
96        "libstagefright_esds",
97        "libmpeg2extractor",
98        "libmedia_helper",
99    ],
100
101    shared_libs: [
102        "[email protected]",
103        "[email protected]",
104        "[email protected]",
105        "[email protected]",
106        "libcrypto",
107        "libhidlmemory",
108        "libhidlbase",
109    ],
110}
111
112cc_library_static {
113    name: "libextractorfuzzerbase",
114    defaults: ["extractor-fuzzerbase-defaults"],
115    host_supported: true,
116
117    srcs: [
118        "ExtractorFuzzerBase.cpp",
119    ],
120}
121
122cc_fuzz {
123    name: "mp4_extractor_fuzzer",
124    defaults: ["extractor-fuzzer-defaults"],
125    host_supported: true,
126
127    srcs: [
128        "mp4_extractor_fuzzer.cpp",
129    ],
130
131    static_libs: [
132        "android.media.extractor.flags-aconfig-cc",
133        "libaconfig_storage_read_api_cc",
134        "libstagefright_id3",
135        "libstagefright_esds",
136        "libmp4extractor",
137        "libstagefright_metadatautils",
138    ],
139
140    shared_libs: [
141        "server_configurable_flags",
142    ],
143
144    dictionary: "mp4_extractor_fuzzer.dict",
145
146    corpus: ["corpus_mp4/*"],
147}
148
149cc_fuzz {
150    name: "wav_extractor_fuzzer",
151    defaults: ["extractor-fuzzer-defaults"],
152    host_supported: true,
153
154    srcs: [
155        "wav_extractor_fuzzer.cpp",
156    ],
157
158    static_libs: [
159        "libfifo",
160        "libwavextractor",
161    ],
162
163    shared_libs: [
164        "libbinder_ndk",
165    ],
166}
167
168cc_fuzz {
169    name: "amr_extractor_fuzzer",
170    defaults: ["extractor-fuzzer-defaults"],
171    host_supported: true,
172
173    srcs: [
174        "amr_extractor_fuzzer.cpp",
175    ],
176
177    static_libs: [
178        "libamrextractor",
179    ],
180
181    dictionary: "amr_extractor_fuzzer.dict",
182}
183
184cc_fuzz {
185    name: "mkv_extractor_fuzzer",
186    defaults: ["extractor-fuzzer-defaults"],
187    host_supported: true,
188
189    srcs: [
190        "mkv_extractor_fuzzer.cpp",
191    ],
192
193    static_libs: [
194        "libwebm_mkvparser",
195        "libstagefright_flacdec",
196        "libstagefright_metadatautils",
197        "libmkvextractor",
198        "libFLAC",
199    ],
200
201    dictionary: "mkv_extractor_fuzzer.dict",
202
203    corpus: ["corpus/*"],
204}
205
206cc_fuzz {
207    name: "ogg_extractor_fuzzer",
208    defaults: ["extractor-fuzzer-defaults"],
209    host_supported: true,
210
211    srcs: [
212        "ogg_extractor_fuzzer.cpp",
213    ],
214
215    static_libs: [
216        "libstagefright_metadatautils",
217        "libvorbisidec",
218        "liboggextractor",
219    ],
220
221    dictionary: "ogg_extractor_fuzzer.dict",
222}
223
224cc_fuzz {
225    name: "mpeg2ps_extractor_fuzzer",
226    defaults: ["mpeg2-extractor-fuzzer-defaults"],
227
228    srcs: [
229        "mpeg2_extractor_fuzzer.cpp",
230    ],
231
232    cflags: [
233        "-DMPEG2PS",
234    ],
235
236    dictionary: "mpeg2ps_extractor_fuzzer.dict",
237}
238
239cc_fuzz {
240    name: "mpeg2ts_extractor_fuzzer",
241    defaults: ["mpeg2-extractor-fuzzer-defaults"],
242
243    srcs: [
244        "mpeg2_extractor_fuzzer.cpp",
245    ],
246
247    dictionary: "mpeg2ts_extractor_fuzzer.dict",
248}
249
250cc_fuzz {
251    name: "mp3_extractor_fuzzer",
252    defaults: ["extractor-fuzzer-defaults"],
253    host_supported: true,
254
255    srcs: [
256        "mp3_extractor_fuzzer.cpp",
257    ],
258
259    static_libs: [
260        "libfifo",
261        "libmp3extractor",
262        "libstagefright_id3",
263    ],
264}
265
266cc_fuzz {
267    name: "aac_extractor_fuzzer",
268    defaults: ["extractor-fuzzer-defaults"],
269    host_supported: true,
270
271    srcs: [
272        "aac_extractor_fuzzer.cpp",
273    ],
274
275    static_libs: [
276        "libaacextractor",
277        "libstagefright_metadatautils",
278    ],
279}
280
281cc_fuzz {
282    name: "flac_extractor_fuzzer",
283    defaults: ["extractor-fuzzer-defaults"],
284    host_supported: true,
285
286    srcs: [
287        "flac_extractor_fuzzer.cpp",
288    ],
289
290    static_libs: [
291        "libstagefright_metadatautils",
292        "libFLAC",
293        "libflacextractor",
294    ],
295
296    shared_libs: [
297        "libbinder_ndk",
298    ],
299
300    dictionary: "flac_extractor_fuzzer.dict",
301}
302
303cc_fuzz {
304    name: "midi_extractor_fuzzer",
305    defaults: ["extractor-fuzzer-defaults"],
306
307    srcs: [
308        "midi_extractor_fuzzer.cpp",
309    ],
310
311    static_libs: [
312        "android.media.extractor.flags-aconfig-cc",
313        "libaconfig_storage_read_api_cc",
314        "libsonivox",
315        "libmedia_midiiowrapper",
316        "libmidiextractor",
317        "libwatchdog",
318    ],
319
320    shared_libs: [
321        "server_configurable_flags",
322    ],
323
324    dictionary: "midi_extractor_fuzzer.dict",
325
326    host_supported: true,
327}
328