1# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2# 3# Use of this source code is governed by a BSD-style license 4# that can be found in the LICENSE file in the root of the source 5# tree. An additional intellectual property rights grant can be found 6# in the file PATENTS. All contributing project authors may 7# be found in the AUTHORS file in the root of the source tree. 8 9import("//build/config/features.gni") 10import("//testing/libfuzzer/fuzzer_test.gni") 11import("../../webrtc.gni") 12 13rtc_library("webrtc_fuzzer_main") { 14 sources = [ "webrtc_fuzzer_main.cc" ] 15 deps = [ 16 "../../rtc_base:logging", 17 "//testing/libfuzzer:libfuzzer_main", 18 ] 19 20 # When WebRTC fuzzer tests are built on Chromium bots they need to link 21 # with Chromium's implementation of metrics, field trial, and system time. 22 if (build_with_chromium) { 23 deps += [ 24 "../../../webrtc_overrides:field_trial", 25 "../../../webrtc_overrides:metrics", 26 "../../../webrtc_overrides:system_time", 27 ] 28 } 29} 30 31rtc_library("fuzz_data_helper") { 32 testonly = true 33 sources = [ 34 "fuzz_data_helper.cc", 35 "fuzz_data_helper.h", 36 ] 37 deps = [ 38 "../../api:array_view", 39 "../../modules/rtp_rtcp:rtp_rtcp_format", 40 ] 41 visibility = [ ":*" ] # Only targets in this file can depend on this. 42} 43 44set_defaults("webrtc_fuzzer_test") { 45 configs = rtc_add_configs 46 absl_deps = [] 47} 48 49template("webrtc_fuzzer_test") { 50 fuzzer_test(target_name) { 51 forward_variables_from(invoker, "*") 52 deps += [ 53 ":fuzz_data_helper", 54 ":webrtc_fuzzer_main", 55 ] 56 additional_configs = configs 57 58 # If absl_deps is [], no action is needed. If not [], then it needs to be 59 # converted to //third_party/abseil-cpp:absl when build_with_chromium=true 60 # otherwise it just needs to be added to deps. 61 if (absl_deps != []) { 62 if (!defined(deps)) { 63 deps = [] 64 } 65 if (build_with_chromium) { 66 deps += [ "//third_party/abseil-cpp:absl" ] 67 } else { 68 deps += absl_deps 69 } 70 } 71 72 if (!build_with_chromium && is_clang) { 73 suppressed_configs = [ "//build/config/clang:find_bad_constructs" ] 74 } 75 } 76} 77 78webrtc_fuzzer_test("h264_depacketizer_fuzzer") { 79 sources = [ "h264_depacketizer_fuzzer.cc" ] 80 deps = [ "../../modules/rtp_rtcp" ] 81 seed_corpus = "corpora/h264-depacketizer-fuzzer-corpus" 82} 83 84webrtc_fuzzer_test("vp8_depacketizer_fuzzer") { 85 sources = [ "vp8_depacketizer_fuzzer.cc" ] 86 deps = [ 87 "../../api:array_view", 88 "../../modules/rtp_rtcp", 89 "../../modules/rtp_rtcp:rtp_video_header", 90 ] 91} 92 93webrtc_fuzzer_test("vp9_depacketizer_fuzzer") { 94 sources = [ "vp9_depacketizer_fuzzer.cc" ] 95 deps = [ 96 "../../api:array_view", 97 "../../modules/rtp_rtcp", 98 "../../modules/rtp_rtcp:rtp_video_header", 99 ] 100} 101 102webrtc_fuzzer_test("vp8_qp_parser_fuzzer") { 103 sources = [ "vp8_qp_parser_fuzzer.cc" ] 104 deps = [ 105 "../../modules/video_coding:video_coding_utility", 106 "../../modules/video_coding/", 107 ] 108} 109 110webrtc_fuzzer_test("vp9_qp_parser_fuzzer") { 111 sources = [ "vp9_qp_parser_fuzzer.cc" ] 112 deps = [ 113 "../../modules/video_coding:video_coding_utility", 114 "../../modules/video_coding/", 115 ] 116} 117 118webrtc_fuzzer_test("h264_bitstream_parser_fuzzer") { 119 sources = [ "h264_bitstream_parser_fuzzer.cc" ] 120 deps = [ 121 "../../common_video", 122 "../../modules/video_coding/", 123 ] 124} 125 126webrtc_fuzzer_test("forward_error_correction_fuzzer") { 127 sources = [ "forward_error_correction_fuzzer.cc" ] 128 deps = [ 129 "../../api:scoped_refptr", 130 "../../modules/rtp_rtcp", 131 "../../modules/rtp_rtcp:rtp_rtcp_format", 132 "../../rtc_base:byte_buffer", 133 ] 134} 135 136webrtc_fuzzer_test("flexfec_header_reader_fuzzer") { 137 sources = [ "flexfec_header_reader_fuzzer.cc" ] 138 deps = [ 139 "../../api:scoped_refptr", 140 "../../modules/rtp_rtcp", 141 "../../modules/rtp_rtcp:rtp_rtcp_format", 142 ] 143} 144 145webrtc_fuzzer_test("flexfec_sender_fuzzer") { 146 sources = [ "flexfec_sender_fuzzer.cc" ] 147 deps = [ 148 "../../modules/rtp_rtcp", 149 "../../modules/rtp_rtcp:rtp_rtcp_format", 150 "../../system_wrappers", 151 ] 152} 153 154webrtc_fuzzer_test("ulpfec_header_reader_fuzzer") { 155 sources = [ "ulpfec_header_reader_fuzzer.cc" ] 156 deps = [ 157 "../../api:scoped_refptr", 158 "../../modules/rtp_rtcp", 159 "../../modules/rtp_rtcp:fec_test_helper", 160 "../../modules/rtp_rtcp:rtp_rtcp_format", 161 ] 162} 163 164webrtc_fuzzer_test("ulpfec_generator_fuzzer") { 165 sources = [ "ulpfec_generator_fuzzer.cc" ] 166 deps = [ 167 "../../modules:module_api_public", 168 "../../modules/rtp_rtcp", 169 "../../modules/rtp_rtcp:fec_test_helper", 170 "../../modules/rtp_rtcp:rtp_rtcp_format", 171 "../../rtc_base:checks", 172 "../../rtc_base:copy_on_write_buffer", 173 "../../system_wrappers", 174 ] 175} 176 177webrtc_fuzzer_test("ulpfec_receiver_fuzzer") { 178 sources = [ "ulpfec_receiver_fuzzer.cc" ] 179 deps = [ 180 ":fuzz_data_helper", 181 "../../modules/rtp_rtcp", 182 "../../modules/rtp_rtcp:rtp_rtcp_format", 183 ] 184} 185 186webrtc_fuzzer_test("flexfec_receiver_fuzzer") { 187 sources = [ "flexfec_receiver_fuzzer.cc" ] 188 deps = [ 189 "../../modules/rtp_rtcp", 190 "../../modules/rtp_rtcp:rtp_rtcp_format", 191 ] 192} 193 194webrtc_fuzzer_test("packet_buffer_fuzzer") { 195 sources = [ "packet_buffer_fuzzer.cc" ] 196 deps = [ 197 "../../modules/video_coding:packet_buffer", 198 "../../modules/video_coding/", 199 "../../system_wrappers", 200 ] 201} 202 203webrtc_fuzzer_test("rtcp_receiver_fuzzer") { 204 sources = [ "rtcp_receiver_fuzzer.cc" ] 205 deps = [ 206 "../../modules/rtp_rtcp", 207 "../../modules/rtp_rtcp:rtp_rtcp_format", 208 "../../rtc_base:checks", 209 "../../system_wrappers", 210 ] 211 seed_corpus = "corpora/rtcp-corpus" 212} 213 214webrtc_fuzzer_test("rtp_packet_fuzzer") { 215 sources = [ "rtp_packet_fuzzer.cc" ] 216 deps = [ "../../modules/rtp_rtcp:rtp_rtcp_format" ] 217 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 218 seed_corpus = "corpora/rtp-corpus" 219} 220 221webrtc_fuzzer_test("rtp_packetizer_av1_fuzzer") { 222 sources = [ "rtp_packetizer_av1_fuzzer.cc" ] 223 deps = [ 224 "../../api/video:video_frame_type", 225 "../../modules/rtp_rtcp:rtp_rtcp", 226 "../../modules/rtp_rtcp:rtp_rtcp_format", 227 "../../rtc_base:checks", 228 ] 229} 230 231webrtc_fuzzer_test("congestion_controller_feedback_fuzzer") { 232 sources = [ "congestion_controller_feedback_fuzzer.cc" ] 233 deps = [ 234 "../../modules/congestion_controller", 235 "../../modules/pacing", 236 "../../modules/remote_bitrate_estimator", 237 "../../modules/rtp_rtcp:rtp_rtcp_format", 238 ] 239 absl_deps = [ "//third_party/abseil-cpp/absl/functional:bind_front" ] 240} 241 242rtc_library("audio_decoder_fuzzer") { 243 testonly = true 244 sources = [ 245 "audio_decoder_fuzzer.cc", 246 "audio_decoder_fuzzer.h", 247 ] 248 deps = [ 249 "../../api/audio_codecs:audio_codecs_api", 250 "../../modules/rtp_rtcp:rtp_rtcp_format", 251 "../../rtc_base:checks", 252 ] 253 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 254} 255 256webrtc_fuzzer_test("audio_decoder_g722_fuzzer") { 257 sources = [ "audio_decoder_g722_fuzzer.cc" ] 258 deps = [ 259 ":audio_decoder_fuzzer", 260 "../../modules/audio_coding:g722", 261 ] 262} 263 264webrtc_fuzzer_test("audio_decoder_ilbc_fuzzer") { 265 sources = [ "audio_decoder_ilbc_fuzzer.cc" ] 266 deps = [ 267 ":audio_decoder_fuzzer", 268 "../../modules/audio_coding:ilbc", 269 ] 270} 271 272webrtc_fuzzer_test("audio_decoder_opus_fuzzer") { 273 sources = [ "audio_decoder_opus_fuzzer.cc" ] 274 deps = [ 275 ":audio_decoder_fuzzer", 276 "../../modules/audio_coding:webrtc_opus", 277 ] 278} 279 280webrtc_fuzzer_test("audio_decoder_opus_redundant_fuzzer") { 281 sources = [ "audio_decoder_opus_redundant_fuzzer.cc" ] 282 deps = [ 283 ":audio_decoder_fuzzer", 284 "../../modules/audio_coding:webrtc_opus", 285 ] 286} 287 288webrtc_fuzzer_test("audio_decoder_multiopus_fuzzer") { 289 sources = [ "audio_decoder_multistream_opus_fuzzer.cc" ] 290 deps = [ 291 ":audio_decoder_fuzzer", 292 "../../api/audio_codecs/opus:audio_decoder_multiopus", 293 "../../api/audio_codecs/opus:audio_decoder_opus_config", 294 ] 295} 296 297webrtc_fuzzer_test("audio_decoder_pcm_fuzzer") { 298 sources = [ "audio_decoder_pcm_fuzzer.cc" ] 299 deps = [ 300 ":audio_decoder_fuzzer", 301 "../../modules/audio_coding:g711", 302 ] 303} 304 305webrtc_fuzzer_test("audio_decoder_pcm16b_fuzzer") { 306 sources = [ "audio_decoder_pcm16b_fuzzer.cc" ] 307 deps = [ 308 ":audio_decoder_fuzzer", 309 "../../modules/audio_coding:pcm16b", 310 ] 311} 312 313rtc_library("audio_encoder_fuzzer") { 314 testonly = true 315 sources = [ 316 "audio_encoder_fuzzer.cc", 317 "audio_encoder_fuzzer.h", 318 ] 319 deps = [ 320 ":fuzz_data_helper", 321 "../../api:array_view", 322 "../../api/audio_codecs:audio_codecs_api", 323 "../../rtc_base:buffer", 324 "../../rtc_base:checks", 325 ] 326} 327 328webrtc_fuzzer_test("audio_encoder_opus_fuzzer") { 329 sources = [ "audio_encoder_opus_fuzzer.cc" ] 330 deps = [ 331 ":audio_encoder_fuzzer", 332 "../../api/audio_codecs/opus:audio_encoder_opus", 333 "../../rtc_base:checks", 334 ] 335} 336 337webrtc_fuzzer_test("turn_unwrap_fuzzer") { 338 sources = [ "turn_unwrap_fuzzer.cc" ] 339 deps = [ 340 "../../media", 341 "../../media:rtc_media_base", 342 ] 343} 344 345webrtc_fuzzer_test("neteq_rtp_fuzzer") { 346 sources = [ "neteq_rtp_fuzzer.cc" ] 347 deps = [ 348 "../../api:array_view", 349 "../../api/audio_codecs:builtin_audio_decoder_factory", 350 "../../modules/audio_coding:neteq", 351 "../../modules/audio_coding:neteq_test_tools", 352 "../../modules/audio_coding:neteq_tools_minimal", 353 "../../modules/audio_coding:pcm16b", 354 "../../modules/rtp_rtcp:rtp_rtcp_format", 355 ] 356} 357 358webrtc_fuzzer_test("neteq_signal_fuzzer") { 359 sources = [ "neteq_signal_fuzzer.cc" ] 360 deps = [ 361 "../../api:array_view", 362 "../../api/audio_codecs:builtin_audio_decoder_factory", 363 "../../modules/audio_coding:neteq", 364 "../../modules/audio_coding:neteq_test_tools", 365 "../../modules/audio_coding:neteq_tools_minimal", 366 "../../modules/audio_coding:pcm16b", 367 "../../rtc_base:random", 368 "../../rtc_base:safe_conversions", 369 ] 370} 371 372webrtc_fuzzer_test("residual_echo_detector_fuzzer") { 373 sources = [ "residual_echo_detector_fuzzer.cc" ] 374 deps = [ 375 "../../api/audio:echo_detector_creator", 376 "../../rtc_base:checks", 377 "../../rtc_base:refcount", 378 ] 379} 380 381webrtc_fuzzer_test("sdp_parser_fuzzer") { 382 sources = [ "sdp_parser_fuzzer.cc" ] 383 deps = [ 384 "../../api:libjingle_peerconnection_api", 385 "../../pc:libjingle_peerconnection", 386 ] 387 seed_corpus = "corpora/sdp-corpus" 388} 389 390if (!build_with_chromium) { 391 # This target depends on test infrastructure that can't be built 392 # with Chromium at the moment. 393 # TODO(bugs.chromium.org/12534): Make this fuzzer build in Chromium. 394 395 webrtc_fuzzer_test("sdp_integration_fuzzer") { 396 sources = [ "sdp_integration_fuzzer.cc" ] 397 deps = [ 398 "../../api:libjingle_peerconnection_api", 399 "../../pc:integration_test_helpers", 400 "../../pc:libjingle_peerconnection", 401 "../../test:test_support", 402 ] 403 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 404 seed_corpus = "corpora/sdp-corpus" 405 } 406} 407 408webrtc_fuzzer_test("stun_parser_fuzzer") { 409 sources = [ "stun_parser_fuzzer.cc" ] 410 deps = [ 411 "../../api/transport:stun_types", 412 "../../p2p:rtc_p2p", 413 ] 414 seed_corpus = "corpora/stun-corpus" 415 dict = "corpora/stun.tokens" 416} 417 418webrtc_fuzzer_test("stun_validator_fuzzer") { 419 sources = [ "stun_validator_fuzzer.cc" ] 420 deps = [ 421 "../../api/transport:stun_types", 422 "../../p2p:rtc_p2p", 423 ] 424 seed_corpus = "corpora/stun-corpus" 425 dict = "corpora/stun.tokens" 426} 427 428webrtc_fuzzer_test("pseudotcp_parser_fuzzer") { 429 sources = [ "pseudotcp_parser_fuzzer.cc" ] 430 deps = [ 431 "../../p2p:rtc_p2p", 432 "../../rtc_base", 433 "../../rtc_base:threading", 434 ] 435} 436 437rtc_library("audio_processing_fuzzer_helper") { 438 testonly = true 439 sources = [ 440 "audio_processing_fuzzer_helper.cc", 441 "audio_processing_fuzzer_helper.h", 442 ] 443 deps = [ 444 ":fuzz_data_helper", 445 "../../api/audio:audio_frame_api", 446 "../../modules/audio_processing", 447 "../../modules/audio_processing:api", 448 "../../modules/audio_processing:audio_frame_proxies", 449 "../../rtc_base:checks", 450 ] 451 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 452} 453 454webrtc_fuzzer_test("audio_processing_fuzzer") { 455 sources = [ "audio_processing_configs_fuzzer.cc" ] 456 deps = [ 457 ":audio_processing_fuzzer_helper", 458 "../../api:scoped_refptr", 459 "../../api/audio:aec3_factory", 460 "../../api/audio:echo_detector_creator", 461 "../../api/task_queue:default_task_queue_factory", 462 "../../modules/audio_processing", 463 "../../modules/audio_processing:api", 464 "../../modules/audio_processing:audio_buffer", 465 "../../modules/audio_processing:audioproc_test_utils", 466 "../../modules/audio_processing/aec3", 467 "../../modules/audio_processing/aec_dump", 468 "../../modules/audio_processing/aec_dump:aec_dump_impl", 469 "../../rtc_base:macromagic", 470 "../../rtc_base:rtc_task_queue", 471 "../../rtc_base:safe_minmax", 472 "../../system_wrappers:field_trial", 473 ] 474 absl_deps = [ "//third_party/abseil-cpp/absl/memory" ] 475 seed_corpus = "corpora/audio_processing-corpus" 476} 477 478webrtc_fuzzer_test("audio_processing_sample_rate_fuzzer") { 479 sources = [ "audio_processing_sample_rate_fuzzer.cc" ] 480 deps = [ 481 "../../api:scoped_refptr", 482 "../../api/audio:audio_frame_api", 483 "../../modules/audio_processing", 484 "../../modules/audio_processing:api", 485 "../../modules/audio_processing:audio_frame_proxies", 486 "../../modules/audio_processing:audioproc_test_utils", 487 "../../rtc_base:checks", 488 "../../rtc_base:macromagic", 489 "../../rtc_base:safe_minmax", 490 ] 491} 492 493webrtc_fuzzer_test("agc_fuzzer") { 494 sources = [ "agc_fuzzer.cc" ] 495 deps = [ 496 ":fuzz_data_helper", 497 "../../modules/audio_processing", 498 "../../modules/audio_processing:api", 499 "../../modules/audio_processing:audio_buffer", 500 "../../rtc_base:macromagic", 501 "../../rtc_base:safe_minmax", 502 ] 503 504 seed_corpus = "corpora/agc-corpus" 505} 506 507webrtc_fuzzer_test("aec3_config_json_fuzzer") { 508 sources = [ "aec3_config_json_fuzzer.cc" ] 509 deps = [ 510 ":fuzz_data_helper", 511 "../../api/audio:aec3_config", 512 "../../api/audio:aec3_config_json", 513 ] 514 dict = "//testing/libfuzzer/fuzzers/dicts/json.dict" 515 seed_corpus = "corpora/aec3-config-json-corpus" 516} 517 518webrtc_fuzzer_test("aec3_fuzzer") { 519 defines = [] 520 if (apm_debug_dump) { 521 defines += [ "WEBRTC_APM_DEBUG_DUMP=1" ] 522 } else { 523 defines += [ "WEBRTC_APM_DEBUG_DUMP=0" ] 524 } 525 sources = [ "aec3_fuzzer.cc" ] 526 deps = [ 527 ":fuzz_data_helper", 528 "../../modules/audio_processing:api", 529 "../../modules/audio_processing:audio_buffer", 530 "../../modules/audio_processing/aec3", 531 ] 532 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] 533} 534 535webrtc_fuzzer_test("comfort_noise_decoder_fuzzer") { 536 sources = [ "comfort_noise_decoder_fuzzer.cc" ] 537 deps = [ 538 "../../api:array_view", 539 "../../modules/audio_coding:webrtc_cng", 540 "../../rtc_base:buffer", 541 ] 542} 543 544webrtc_fuzzer_test("rtp_depacketizer_av1_assemble_frame_fuzzer") { 545 sources = [ "rtp_depacketizer_av1_assemble_frame_fuzzer.cc" ] 546 seed_corpus = "corpora/rtp-depacketizer-av1-assemble-frame-corpus" 547 deps = [ 548 ":fuzz_data_helper", 549 "../../api:array_view", 550 "../../modules/rtp_rtcp", 551 ] 552} 553 554webrtc_fuzzer_test("rtp_dependency_descriptor_fuzzer") { 555 sources = [ "rtp_dependency_descriptor_fuzzer.cc" ] 556 seed_corpus = "corpora/dependency_descriptor-corpus" 557 deps = [ 558 "../../api:array_view", 559 "../../common_video/generic_frame_descriptor", 560 "../../modules/rtp_rtcp:rtp_rtcp_format", 561 "../../rtc_base:checks", 562 ] 563} 564 565webrtc_fuzzer_test("rtp_video_layers_allocation_fuzzer") { 566 sources = [ "rtp_video_layers_allocation_fuzzer.cc" ] 567 seed_corpus = "corpora/video_layers_allocation-corpus" 568 deps = [ 569 "../../api:array_view", 570 "../../api/video:video_layers_allocation", 571 "../../modules/rtp_rtcp:rtp_rtcp_format", 572 "../../rtc_base:checks", 573 ] 574 575 # video_layers_allocation is an rtp header extension and thus can't be longer 576 # than 255 bytes on the wire. 577 libfuzzer_options = [ "max_len=255" ] 578} 579 580webrtc_fuzzer_test("rtp_frame_reference_finder_fuzzer") { 581 sources = [ "rtp_frame_reference_finder_fuzzer.cc" ] 582 deps = [ 583 "../../api:rtp_packet_info", 584 "../../api:scoped_refptr", 585 "../../modules/video_coding/", 586 "../../system_wrappers", 587 ] 588} 589 590webrtc_fuzzer_test("frame_buffer2_fuzzer") { 591 sources = [ "frame_buffer2_fuzzer.cc" ] 592 deps = [ 593 "../../api/task_queue", 594 "../../modules/video_coding:frame_buffer2", 595 "../../modules/video_coding/timing:timing_module", 596 "../../test:scoped_key_value_config", 597 "../time_controller:time_controller", 598 ] 599} 600 601webrtc_fuzzer_test("frame_buffer_fuzzer") { 602 sources = [ "frame_buffer_fuzzer.cc" ] 603 deps = [ 604 ":fuzz_data_helper", 605 "../../api:array_view", 606 "../../api/video:encoded_frame", 607 "../../api/video:frame_buffer", 608 "../../rtc_base:rtc_numerics", 609 "../../test:scoped_key_value_config", 610 ] 611} 612 613webrtc_fuzzer_test("field_trial_fuzzer") { 614 sources = [ "field_trial_fuzzer.cc" ] 615 deps = [ "../../system_wrappers:field_trial" ] 616 seed_corpus = "corpora/field_trial-corpus" 617} 618 619webrtc_fuzzer_test("string_to_number_fuzzer") { 620 sources = [ "string_to_number_fuzzer.cc" ] 621 deps = [ "../../rtc_base:stringutils" ] 622 seed_corpus = "corpora/string_to_number-corpus" 623} 624 625webrtc_fuzzer_test("sctp_utils_fuzzer") { 626 sources = [ "sctp_utils_fuzzer.cc" ] 627 deps = [ 628 "../../api:libjingle_peerconnection_api", 629 "../../pc:libjingle_peerconnection", 630 "../../pc:sctp_utils", 631 "../../rtc_base:copy_on_write_buffer", 632 ] 633} 634 635webrtc_fuzzer_test("dcsctp_socket_fuzzer") { 636 sources = [ "dcsctp_socket_fuzzer.cc" ] 637 deps = [ 638 "../../net/dcsctp/fuzzers:dcsctp_fuzzers", 639 "../../net/dcsctp/public:socket", 640 "../../net/dcsctp/public:types", 641 "../../net/dcsctp/socket:dcsctp_socket", 642 "../../rtc_base:logging", 643 ] 644} 645 646webrtc_fuzzer_test("ssl_certificate_fuzzer") { 647 sources = [ "ssl_certificate_fuzzer.cc" ] 648 deps = [ 649 "../:rtp_test_utils", 650 "../../rtc_base", 651 "../../rtc_base:stringutils", 652 ] 653} 654 655webrtc_fuzzer_test("vp8_replay_fuzzer") { 656 sources = [ "vp8_replay_fuzzer.cc" ] 657 deps = [ "utils:rtp_replayer" ] 658 seed_corpus = "corpora/rtpdump-corpus/vp8" 659} 660 661if (rtc_build_libvpx) { 662 webrtc_fuzzer_test("vp9_encoder_references_fuzzer") { 663 sources = [ "vp9_encoder_references_fuzzer.cc" ] 664 deps = [ 665 "..:test_support", 666 "../../api:array_view", 667 "../../api:field_trials_view", 668 "../../api/video:video_frame", 669 "../../api/video_codecs:video_codecs_api", 670 "../../modules/video_coding:frame_dependencies_calculator", 671 "../../modules/video_coding:webrtc_libvpx_interface", 672 "../../modules/video_coding:webrtc_vp9", 673 "../../rtc_base:safe_compare", 674 rtc_libvpx_dir, 675 ] 676 absl_deps = [ 677 "//third_party/abseil-cpp/absl/algorithm:container", 678 "//third_party/abseil-cpp/absl/base:core_headers", 679 "//third_party/abseil-cpp/absl/container:inlined_vector", 680 ] 681 seed_corpus = "corpora/vp9-encoder-references-corpus" 682 defines = [ "RTC_ENABLE_VP9" ] 683 } 684} 685 686webrtc_fuzzer_test("vp9_replay_fuzzer") { 687 sources = [ "vp9_replay_fuzzer.cc" ] 688 deps = [ "utils:rtp_replayer" ] 689 seed_corpus = "corpora/rtpdump-corpus/vp9" 690} 691