webrtc_m130/test/fuzzers/rtcp_receiver_fuzzer.cc

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

53 lines
1.6 KiB
C++
Raw Normal View History

/*
* Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#include "modules/rtp_rtcp/source/rtcp_packet/tmmb_item.h"
#include "modules/rtp_rtcp/source/rtcp_receiver.h"
#include "modules/rtp_rtcp/source/rtp_rtcp_interface.h"
#include "rtc_base/checks.h"
#include "system_wrappers/include/clock.h"
namespace webrtc {
namespace {
constexpr int kRtcpIntervalMs = 1000;
// RTCP is typically sent over UDP, which has a maximum payload length
// of 65535 bytes. We err on the side of caution and check a bit above that.
constexpr size_t kMaxInputLenBytes = 66000;
class NullModuleRtpRtcp : public RTCPReceiver::ModuleRtpRtcp {
public:
void SetTmmbn(std::vector<rtcp::TmmbItem>) override {}
void OnRequestSendReport() override {}
void OnReceivedNack(const std::vector<uint16_t>&) override {}
void OnReceivedRtcpReportBlocks(const ReportBlockList&) override {}
};
} // namespace
void FuzzOneInput(const uint8_t* data, size_t size) {
if (size > kMaxInputLenBytes) {
return;
}
NullModuleRtpRtcp rtp_rtcp_module;
SimulatedClock clock(1234);
RtpRtcpInterface::Configuration config;
Reland "Pass RtpRtcp::Configuration to RtcpReceiver ctor and initialize ssrcs" This reverts commit 4d68314ec87b689792c9db9e2e50b76659bd42d9. Reason for revert: The culprit was https://webrtc-review.googlesource.com/c/src/+/133169. Original change's description: > Revert "Pass RtpRtcp::Configuration to RtcpReceiver ctor and initialize ssrcs" > > This reverts commit 741b96b175cb20606d5f1aad6339beeaa424b719. > > Reason for revert: Speculative revert (some perf test are failing) > > Original change's description: > > Pass RtpRtcp::Configuration to RtcpReceiver ctor and initialize ssrcs > > > > Bug: webrtc:10774 > > Change-Id: Iaae717ed1b7373d5cb2246e3ba92fc6ace422b41 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145206 > > Commit-Queue: Erik Språng <sprang@webrtc.org> > > Reviewed-by: Åsa Persson <asapersson@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#28536} > > TBR=asapersson@webrtc.org,sprang@webrtc.org > > Change-Id: I877c1e4c025717c3392bce96ef31591dc1ef5f0b > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:10774 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145325 > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#28551} TBR=mbonadei@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org Change-Id: Ib59a7f716a58ca8082fe69020c56054e21646cdf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:10774 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145402 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28564}
2019-07-12 17:35:05 +00:00
config.clock = &clock;
config.rtcp_report_interval_ms = kRtcpIntervalMs;
config.local_media_ssrc = 1;
Reland "Pass RtpRtcp::Configuration to RtcpReceiver ctor and initialize ssrcs" This reverts commit 4d68314ec87b689792c9db9e2e50b76659bd42d9. Reason for revert: The culprit was https://webrtc-review.googlesource.com/c/src/+/133169. Original change's description: > Revert "Pass RtpRtcp::Configuration to RtcpReceiver ctor and initialize ssrcs" > > This reverts commit 741b96b175cb20606d5f1aad6339beeaa424b719. > > Reason for revert: Speculative revert (some perf test are failing) > > Original change's description: > > Pass RtpRtcp::Configuration to RtcpReceiver ctor and initialize ssrcs > > > > Bug: webrtc:10774 > > Change-Id: Iaae717ed1b7373d5cb2246e3ba92fc6ace422b41 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145206 > > Commit-Queue: Erik Språng <sprang@webrtc.org> > > Reviewed-by: Åsa Persson <asapersson@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#28536} > > TBR=asapersson@webrtc.org,sprang@webrtc.org > > Change-Id: I877c1e4c025717c3392bce96ef31591dc1ef5f0b > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webrtc:10774 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145325 > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#28551} TBR=mbonadei@webrtc.org,asapersson@webrtc.org,sprang@webrtc.org Change-Id: Ib59a7f716a58ca8082fe69020c56054e21646cdf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:10774 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145402 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28564}
2019-07-12 17:35:05 +00:00
RTCPReceiver receiver(config, &rtp_rtcp_module);
receiver.IncomingPacket(data, size);
}
} // namespace webrtc