blob: 5a30fe10cc019a0d805862ea481476c1b121cd27 [file] [log] [blame]
brandtrcada34c2016-10-03 02:02:49 -07001/*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#include <algorithm>
12
13#include "webrtc/base/scoped_ref_ptr.h"
14#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
15#include "webrtc/modules/rtp_rtcp/source/forward_error_correction.h"
16#include "webrtc/modules/rtp_rtcp/source/ulpfec_header_reader_writer.h"
17
18namespace webrtc {
19
20using Packet = ForwardErrorCorrection::Packet;
21
22void FuzzOneInput(const uint8_t* data, size_t size) {
23 ForwardErrorCorrection::ReceivedFecPacket packet;
24 packet.pkt = rtc::scoped_refptr<Packet>(new Packet());
25 const size_t packet_size =
26 std::min(size, static_cast<size_t>(IP_PACKET_SIZE));
27 memcpy(packet.pkt->data, data, packet_size);
28 packet.pkt->length = packet_size;
29
30 UlpfecHeaderReader ulpfec_reader;
31 ulpfec_reader.ReadFecHeader(&packet);
32}
33
34} // namespace webrtc