Let FlexfecReceiveStreamImpl send RTCP RRs.

This CL adds an RTP module to FlexfecReceiveStreamImpl, and wires it up
to send RTCP RRs. It further makes some methods take const refs instead
of values, to make it more clear where packet copies are made. This
change reduces the number of copies by one, for the case when media
packets are added to the FlexFEC receiver.

The end-to-end test is modified to check for RTCP RRs being sent.
Part of this modification involves some indentation changes, and the
diff thus looks bigger than it logically is.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2625633003
Cr-Commit-Position: refs/heads/master@{#16106}
This commit is contained in:
brandtr
2017-01-17 01:33:54 -08:00
committed by Commit bot
parent 9506e12eba
commit fa5a368b3c
11 changed files with 215 additions and 97 deletions

View File

@ -43,13 +43,13 @@ class FlexfecReceiver {
// Inserts a received packet (can be either media or FlexFEC) into the
// internal buffer, and sends the received packets to the erasure code.
// All newly recovered packets are sent back through the callback.
bool AddAndProcessReceivedPacket(RtpPacketReceived packet);
bool AddAndProcessReceivedPacket(const RtpPacketReceived& packet);
// Returns a counter describing the added and recovered packets.
FecPacketCounter GetPacketCounter() const;
private:
bool AddReceivedPacket(RtpPacketReceived packet);
bool AddReceivedPacket(const RtpPacketReceived& packet);
bool ProcessReceivedPackets();
// Config.