Revert "Revert of Parse FlexFEC RTP headers in Call and add integration with BWE. (patchset #17 id:460001 of https://codereview.webrtc.org/2553863003/ )"

Problem fixed: RTP header extensions were not properly set in tests.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2593963003
Cr-Commit-Position: refs/heads/master@{#15741}
This commit is contained in:
brandtr
2016-12-21 06:37:18 -08:00
committed by Commit bot
parent 9ba94baa9c
commit b29e652b10
18 changed files with 306 additions and 166 deletions

View File

@ -16,9 +16,9 @@
#include "webrtc/base/basictypes.h"
#include "webrtc/base/sequenced_task_checker.h"
#include "webrtc/call/call.h"
#include "webrtc/modules/rtp_rtcp/include/flexfec_receiver.h"
#include "webrtc/modules/rtp_rtcp/include/ulpfec_receiver.h"
#include "webrtc/modules/rtp_rtcp/source/forward_error_correction.h"
#include "webrtc/modules/rtp_rtcp/source/rtp_packet_received.h"
#include "webrtc/system_wrappers/include/clock.h"
namespace webrtc {
@ -37,19 +37,19 @@ class FlexfecReceiver {
public:
FlexfecReceiver(uint32_t ssrc,
uint32_t protected_media_ssrc,
RecoveredPacketReceiver* callback);
RecoveredPacketReceiver* recovered_packet_receiver);
~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(const uint8_t* packet, size_t packet_length);
bool AddAndProcessReceivedPacket(RtpPacketReceived packet);
// Returns a counter describing the added and recovered packets.
FecPacketCounter GetPacketCounter() const;
private:
bool AddReceivedPacket(const uint8_t* packet, size_t packet_length);
bool AddReceivedPacket(RtpPacketReceived packet);
bool ProcessReceivedPackets();
// Config.
@ -63,7 +63,7 @@ class FlexfecReceiver {
GUARDED_BY(sequence_checker_);
ForwardErrorCorrection::RecoveredPacketList recovered_packets_
GUARDED_BY(sequence_checker_);
RecoveredPacketReceiver* const callback_ GUARDED_BY(sequence_checker_);
RecoveredPacketReceiver* const recovered_packet_receiver_;
// Logging and stats.
Clock* const clock_;