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} 28 29cc_defaults { 30 name: "extractor-fuzzerbase-defaults", 31 32 local_include_dirs: [ 33 "include", 34 ], 35 36 export_include_dirs: [ 37 "include", 38 ], 39 40 static_libs: [ 41 "liblog", 42 "libstagefright_foundation_colorutils_ndk", 43 "libstagefright_foundation", 44 "libmediandk_format", 45 "libmedia_ndkformatpriv", 46 ], 47 48 shared_libs: [ 49 "libutils", 50 "libbinder", 51 "libbase", 52 "libcutils", 53 ], 54 55 target: { 56 darwin: { 57 enabled: false, 58 }, 59 }, 60} 61 62cc_defaults { 63 name: "extractor-fuzzer-defaults", 64 defaults: ["extractor-fuzzerbase-defaults"], 65 66 static_libs: [ 67 "libextractorfuzzerbase", 68 ], 69 70 fuzz_config: { 71 cc: [ 72 "android-media-fuzzing-reports@google.com", 73 ], 74 componentid: 155276, 75 }, 76} 77 78cc_defaults { 79 name: "mpeg2-extractor-fuzzer-defaults", 80 defaults: ["extractor-fuzzer-defaults"], 81 host_supported: true, 82 83 include_dirs: [ 84 "frameworks/av/media/extractors/mpeg2", 85 "frameworks/av/media/libstagefright", 86 ], 87 88 static_libs: [ 89 "libstagefright_foundation_without_imemory", 90 "libstagefright_mpeg2support", 91 "libstagefright_mpeg2extractor", 92 "libstagefright_esds", 93 "libmpeg2extractor", 94 "libmedia_helper", 95 ], 96 97 shared_libs: [ 98 "android.hardware.cas@1.0", 99 "android.hardware.cas.native@1.0", 100 "android.hidl.token@1.0-utils", 101 "android.hidl.allocator@1.0", 102 "libcrypto", 103 "libhidlmemory", 104 "libhidlbase", 105 ], 106} 107 108cc_library_static { 109 name: "libextractorfuzzerbase", 110 defaults: ["extractor-fuzzerbase-defaults"], 111 host_supported: true, 112 113 srcs: [ 114 "ExtractorFuzzerBase.cpp", 115 ], 116} 117 118cc_fuzz { 119 name: "mp4_extractor_fuzzer", 120 defaults: ["extractor-fuzzer-defaults"], 121 host_supported: true, 122 123 srcs: [ 124 "mp4_extractor_fuzzer.cpp", 125 ], 126 127 include_dirs: [ 128 "frameworks/av/media/extractors/mp4", 129 ], 130 131 header_libs: [ 132 "libaudioclient_headers", 133 ], 134 135 static_libs: [ 136 "libstagefright_id3", 137 "libstagefright_esds", 138 "libmp4extractor", 139 ], 140 141 dictionary: "mp4_extractor_fuzzer.dict", 142} 143 144cc_fuzz { 145 name: "wav_extractor_fuzzer", 146 defaults: ["extractor-fuzzer-defaults"], 147 host_supported: true, 148 149 srcs: [ 150 "wav_extractor_fuzzer.cpp", 151 ], 152 153 include_dirs: [ 154 "frameworks/av/media/extractors/wav", 155 ], 156 157 static_libs: [ 158 "libfifo", 159 "libwavextractor", 160 ], 161 162 shared_libs: [ 163 "libbinder_ndk", 164 ], 165} 166 167cc_fuzz { 168 name: "amr_extractor_fuzzer", 169 defaults: ["extractor-fuzzer-defaults"], 170 host_supported: true, 171 172 srcs: [ 173 "amr_extractor_fuzzer.cpp", 174 ], 175 176 include_dirs: [ 177 "frameworks/av/media/extractors/amr", 178 ], 179 180 static_libs: [ 181 "libamrextractor", 182 ], 183 184 dictionary: "amr_extractor_fuzzer.dict", 185} 186 187cc_fuzz { 188 name: "mkv_extractor_fuzzer", 189 defaults: ["extractor-fuzzer-defaults"], 190 host_supported: true, 191 192 srcs: [ 193 "mkv_extractor_fuzzer.cpp", 194 ], 195 196 include_dirs: [ 197 "frameworks/av/media/extractors/mkv", 198 ], 199 200 static_libs: [ 201 "libwebm", 202 "libstagefright_flacdec", 203 "libstagefright_metadatautils", 204 "libmkvextractor", 205 "libFLAC", 206 ], 207 208 dictionary: "mkv_extractor_fuzzer.dict", 209} 210 211cc_fuzz { 212 name: "ogg_extractor_fuzzer", 213 defaults: ["extractor-fuzzer-defaults"], 214 host_supported: true, 215 216 srcs: [ 217 "ogg_extractor_fuzzer.cpp", 218 ], 219 220 include_dirs: [ 221 "frameworks/av/media/extractors/ogg", 222 ], 223 224 static_libs: [ 225 "libstagefright_metadatautils", 226 "libvorbisidec", 227 "liboggextractor", 228 ], 229 230 dictionary: "ogg_extractor_fuzzer.dict", 231} 232 233cc_fuzz { 234 name: "mpeg2ps_extractor_fuzzer", 235 defaults: ["mpeg2-extractor-fuzzer-defaults"], 236 237 srcs: [ 238 "mpeg2_extractor_fuzzer.cpp", 239 ], 240 241 cflags: [ 242 "-DMPEG2PS", 243 ], 244 245 dictionary: "mpeg2ps_extractor_fuzzer.dict", 246} 247 248cc_fuzz { 249 name: "mpeg2ts_extractor_fuzzer", 250 defaults: ["mpeg2-extractor-fuzzer-defaults"], 251 252 srcs: [ 253 "mpeg2_extractor_fuzzer.cpp", 254 ], 255 256 dictionary: "mpeg2ts_extractor_fuzzer.dict", 257} 258 259cc_fuzz { 260 name: "mp3_extractor_fuzzer", 261 defaults: ["extractor-fuzzer-defaults"], 262 host_supported: true, 263 264 srcs: [ 265 "mp3_extractor_fuzzer.cpp", 266 ], 267 268 include_dirs: [ 269 "frameworks/av/media/extractors/mp3", 270 ], 271 272 static_libs: [ 273 "libfifo", 274 "libmp3extractor", 275 "libstagefright_id3", 276 ], 277} 278 279cc_fuzz { 280 name: "aac_extractor_fuzzer", 281 defaults: ["extractor-fuzzer-defaults"], 282 host_supported: true, 283 284 srcs: [ 285 "aac_extractor_fuzzer.cpp", 286 ], 287 288 include_dirs: [ 289 "frameworks/av/media/extractors/aac", 290 ], 291 292 static_libs: [ 293 "libaacextractor", 294 "libstagefright_metadatautils", 295 ], 296} 297 298cc_fuzz { 299 name: "flac_extractor_fuzzer", 300 defaults: ["extractor-fuzzer-defaults"], 301 host_supported: true, 302 303 srcs: [ 304 "flac_extractor_fuzzer.cpp", 305 ], 306 307 include_dirs: [ 308 "frameworks/av/media/extractors/flac", 309 ], 310 311 static_libs: [ 312 "libstagefright_metadatautils", 313 "libFLAC", 314 "libflacextractor", 315 ], 316 317 shared_libs: [ 318 "libbinder_ndk", 319 ], 320 321 dictionary: "flac_extractor_fuzzer.dict", 322} 323 324cc_fuzz { 325 name: "midi_extractor_fuzzer", 326 defaults: ["extractor-fuzzer-defaults"], 327 328 srcs: [ 329 "midi_extractor_fuzzer.cpp", 330 ], 331 332 include_dirs: [ 333 "frameworks/av/media/extractors/midi", 334 ], 335 336 static_libs: [ 337 "libsonivox", 338 "libmedia_midiiowrapper", 339 "libmidiextractor", 340 "libwatchdog", 341 ], 342 343 dictionary: "midi_extractor_fuzzer.dict", 344 345 host_supported: true, 346} 347