From ce9da1636aba347f452f33a00a75b929eee77570 Mon Sep 17 00:00:00 2001 From: Kuang-che Wu Date: Sat, 12 Oct 2019 10:42:33 +0800 Subject: [PATCH] Use FakeRenderer when fuzzing Do not fuzz with real renderer because it is merely frame copying and doesn't exercise different control flows. This CL also improved fuzzing performance and fixed a memory leak. Bug: chromium:952606, chromium:1009077, chromium:1009073 Change-Id: I77c6f2581db82bfd95edb18e5f0e541a94c78208 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/156620 Commit-Queue: Benjamin Wright Reviewed-by: Benjamin Wright Cr-Commit-Position: refs/heads/master@{#29522} --- test/fuzzers/utils/BUILD.gn | 2 +- test/fuzzers/utils/rtp_replayer.cc | 5 ++--- test/fuzzers/utils/rtp_replayer.h | 1 - 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/test/fuzzers/utils/BUILD.gn b/test/fuzzers/utils/BUILD.gn index 5f9ea4c221..61f7a80ac7 100644 --- a/test/fuzzers/utils/BUILD.gn +++ b/test/fuzzers/utils/BUILD.gn @@ -35,7 +35,7 @@ rtc_source_set("rtp_replayer") { "../../../test:rtp_test_utils", "../../../test:run_test", "../../../test:run_test_interface", - "../../../test:test_renderer", + "../../../test:test_common", "../../../test:test_support", "../../../test:video_test_common", ] diff --git a/test/fuzzers/utils/rtp_replayer.cc b/test/fuzzers/utils/rtp_replayer.cc index af03be2f2c..fe41f0071c 100644 --- a/test/fuzzers/utils/rtp_replayer.cc +++ b/test/fuzzers/utils/rtp_replayer.cc @@ -21,6 +21,7 @@ #include "test/call_config_utils.h" #include "test/encoder_settings.h" #include "test/fake_decoder.h" +#include "test/fake_videorenderer.h" #include "test/rtp_file_reader.h" #include "test/rtp_header_parser.h" @@ -111,9 +112,7 @@ void RtpReplayer::SetupVideoStreams( decoder.decoder_factory = stream_state->decoder_factory.get(); } - // Create the window to display the rendered video. - stream_state->sinks.emplace_back( - test::VideoRenderer::Create("Fuzzing WebRTC Video Config", 640, 480)); + stream_state->sinks.emplace_back(new test::FakeVideoRenderer()); // Create a receive stream for this config. receive_config.renderer = stream_state->sinks.back().get(); stream_state->receive_streams.emplace_back( diff --git a/test/fuzzers/utils/rtp_replayer.h b/test/fuzzers/utils/rtp_replayer.h index c79a17eec5..1fbd3fdaad 100644 --- a/test/fuzzers/utils/rtp_replayer.h +++ b/test/fuzzers/utils/rtp_replayer.h @@ -28,7 +28,6 @@ #include "test/null_transport.h" #include "test/rtp_file_reader.h" #include "test/test_video_capturer.h" -#include "test/video_renderer.h" namespace webrtc { namespace test {