Chromium Code Reviews

Unified Diff: webrtc/modules/rtp_rtcp/include/flexfec_receiver.h

Issue 2553863003: Parse FlexFEC RTP headers in Call and add integration with BWE. (Closed)
Patch Set: Rebase and changes, including adressing danilchap's early comments. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: webrtc/modules/rtp_rtcp/include/flexfec_receiver.h
diff --git a/webrtc/modules/rtp_rtcp/include/flexfec_receiver.h b/webrtc/modules/rtp_rtcp/include/flexfec_receiver.h
index dc90f045d58c2d864034a76da32e81e62bb27aa5..63112f453dc17bb1bc620a13475265e237ac5514 100644
--- a/webrtc/modules/rtp_rtcp/include/flexfec_receiver.h
+++ b/webrtc/modules/rtp_rtcp/include/flexfec_receiver.h
@@ -16,13 +16,15 @@
#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 {
+class RemoteBitrateEstimator;
+
// Callback interface for packets recovered by FlexFEC. The implementation
// should be able to demultiplex the recovered RTP packets based on SSRC.
class RecoveredPacketReceiver {
@@ -37,19 +39,20 @@ class FlexfecReceiver {
public:
FlexfecReceiver(uint32_t ssrc,
uint32_t protected_media_ssrc,
- RecoveredPacketReceiver* callback);
+ RecoveredPacketReceiver* recovered_packet_receiver,
+ RemoteBitrateEstimator* remote_bitrate_estimator);
~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.
@@ -60,7 +63,10 @@ class FlexfecReceiver {
std::unique_ptr<ForwardErrorCorrection> erasure_code_;
ForwardErrorCorrection::ReceivedPacketList received_packets_;
ForwardErrorCorrection::RecoveredPacketList recovered_packets_;
- RecoveredPacketReceiver* const callback_;
+ RecoveredPacketReceiver* const recovered_packet_receiver_;
+
+ // BWE.
+ RemoteBitrateEstimator* remote_bitrate_estimator_;
danilchap 2016/12/13 14:11:24 * const
brandtr 2016/12/14 12:55:49 N/A.
// Logging and stats.
Clock* const clock_;

Powered by Google App Engine