namespace webrtc {
class CriticalSectionWrapper;
-class Encryption;
class FecReceiver;
class ReceiveStatistics;
class RemoteBitrateEstimator;
class RtpReceiver;
class RtpRtcp;
class VideoCodingModule;
+struct ReceiveBandwidthEstimatorStats;
class ViEReceiver : public RtpData {
public:
uint32_t GetRemoteSsrc() const;
int GetCsrcs(uint32_t* csrcs) const;
- int RegisterExternalDecryption(Encryption* decryption);
- int DeregisterExternalDecryption();
-
void SetRtpRtcpModule(RtpRtcp* module);
RtpReceiver* GetRtpReceiver() const;
void EstimatedReceiveBandwidth(unsigned int* available_bandwidth) const;
+ void GetReceiveBandwidthEstimatorStats(
+ ReceiveBandwidthEstimatorStats* output) const;
+
ReceiveStatistics* GetReceiveStatistics() const;
private:
- int InsertRTPPacket(const int8_t* rtp_packet, int rtp_packet_length,
+ int InsertRTPPacket(const uint8_t* rtp_packet, int rtp_packet_length,
const PacketTime& packet_time);
bool ReceivePacket(const uint8_t* packet,
int packet_length,
bool ParseAndHandleEncapsulatingHeader(const uint8_t* packet,
int packet_length,
const RTPHeader& header);
- int InsertRTCPPacket(const int8_t* rtcp_packet, int rtcp_packet_length);
+ int InsertRTCPPacket(const uint8_t* rtcp_packet, int rtcp_packet_length);
bool IsPacketInOrder(const RTPHeader& header) const;
bool IsPacketRetransmitted(const RTPHeader& header, bool in_order) const;
VideoCodingModule* vcm_;
RemoteBitrateEstimator* remote_bitrate_estimator_;
- Encryption* external_decryption_;
- uint8_t* decryption_buffer_;
RtpDump* rtp_dump_;
bool receiving_;
uint8_t restored_packet_[kViEMaxMtu];