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