Relanding "Setting up an RTP input fuzzer for NetEq"

The original CL (https://codereview.webrtc.org/2315633002) was
reverted since the fuzzer depended on gflags and files in the
resources folder; neither of this is allowed for a fuzzer test in
Chromium. This new version streamlines the dependencies, and changes
the test to generate a sinusoid input audio signal instead of reading
from a file.

Original commit message:
This CL introduces a new fuzzer target neteq_rtp_fuzzer that
manipulates the RTP header fields before inserting the packets into
NetEq. A few helper classes are also introduced.

BUG=webrtc:5447
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win_chromium_rel_ng;master.tryserver.chromium.android:android_compile_dbg,linux_android_rel_ng;master.tryserver.chromium.linux:linux_chromium_rel_ng;master.tryserver.chromium.mac:mac_chromium_rel_ng,ios-device

Review-Url: https://codereview.webrtc.org/2384423002
Cr-Commit-Position: refs/heads/master@{#14523}
This commit is contained in:
henrik.lundin
2016-10-05 02:27:42 -07:00
committed by Commit bot
parent d020f3fea0
commit 58466f6d97
6 changed files with 359 additions and 3 deletions

View File

@ -65,7 +65,9 @@ class NetEqInput {
// time).
virtual void AdvanceOutputEvent() = 0;
// Returns true if the source has come to an end.
// Returns true if the source has come to an end. An implementation must
// eventually return true from this method, or the test will end up in an
// infinite loop.
virtual bool ended() const = 0;
// Returns the RTP header for the next packet, i.e., the packet that will be