Chromium Code Reviews| 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_; |