| Index: webrtc/modules/rtp_rtcp/source/producer_fec.cc
|
| diff --git a/webrtc/modules/rtp_rtcp/source/producer_fec.cc b/webrtc/modules/rtp_rtcp/source/producer_fec.cc
|
| index b928020df3211d33c7a9be5c838b39f49708faa9..7c688a53113a2aa5b7c361f14bf3ea67c988868a 100644
|
| --- a/webrtc/modules/rtp_rtcp/source/producer_fec.cc
|
| +++ b/webrtc/modules/rtp_rtcp/source/producer_fec.cc
|
| @@ -17,6 +17,7 @@
|
| #include "webrtc/base/checks.h"
|
| #include "webrtc/modules/rtp_rtcp/source/byte_io.h"
|
| #include "webrtc/modules/rtp_rtcp/source/forward_error_correction.h"
|
| +#include "webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h"
|
| #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
|
|
|
| namespace webrtc {
|
| @@ -144,6 +145,20 @@ void ProducerFec::SetFecParameters(const FecProtectionParams* params,
|
| }
|
| }
|
|
|
| +void ProducerFec::BuildRedPacket(int red_pl_type,
|
| + const RtpPacketToSend& media_packet,
|
| + RtpPacketToSend* red_packet) {
|
| + RTC_DCHECK_GE(red_packet->capacity(),
|
| + media_packet.size() + kRedForFecHeaderLength);
|
| + red_packet->CopyHeaderFrom(media_packet);
|
| + red_packet->SetPayloadType(red_pl_type);
|
| + uint8_t* red_payload = red_packet->AllocatePayload(
|
| + kRedForFecHeaderLength + media_packet.payload_size());
|
| + red_payload[0] = media_packet.PayloadType();
|
| + memcpy(&red_payload[kRedForFecHeaderLength], media_packet.payload(),
|
| + media_packet.payload_size());
|
| +}
|
| +
|
| int ProducerFec::AddRtpPacketAndGenerateFec(const uint8_t* data_buffer,
|
| size_t payload_length,
|
| size_t rtp_header_length) {
|
|
|