blob: e2ef4b1e9723a07eb59c1864d569980d75270aa6 [file] [log] [blame]
stefan@webrtc.org7bb8f022013-09-06 13:40:11 +00001/*
2 * Copyright (c) 2013 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#ifndef WEBRTC_MODULES_RTP_RTCP_INTERFACE_FEC_RECEIVER_H_
12#define WEBRTC_MODULES_RTP_RTCP_INTERFACE_FEC_RECEIVER_H_
13
14#include "webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h"
15#include "webrtc/typedefs.h"
16
17namespace webrtc {
18
19class FecReceiver {
20 public:
andresp@webrtc.orgdc80bae2014-04-08 11:06:12 +000021 static FecReceiver* Create(RtpData* callback);
stefan@webrtc.org7bb8f022013-09-06 13:40:11 +000022
23 virtual ~FecReceiver() {}
24
25 virtual int32_t AddReceivedRedPacket(const RTPHeader& rtp_header,
26 const uint8_t* incoming_rtp_packet,
27 int packet_length,
28 uint8_t ulpfec_payload_type) = 0;
29
30 virtual int32_t ProcessReceivedFec() = 0;
31};
32} // namespace webrtc
33#endif // WEBRTC_MODULES_RTP_RTCP_INTERFACE_FEC_RECEIVER_H_