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 <benwright@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29522}
diff --git a/test/fuzzers/utils/BUILD.gn b/test/fuzzers/utils/BUILD.gn
index 5f9ea4c..61f7a80 100644
--- a/test/fuzzers/utils/BUILD.gn
+++ b/test/fuzzers/utils/BUILD.gn
@@ -35,7 +35,7 @@
"../../../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 af03be2..fe41f00 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 @@
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 c79a17e..1fbd3fd 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 {