Add support for multiple report blocks.
Use a weighted average of fraction loss for bandwidth estimation. TEST=trybots and vie_auto_test --automated BUG=1811 R=mflodman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/2198004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4762 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -11,7 +11,6 @@
|
||||
#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_HELP_H_
|
||||
#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_HELP_H_
|
||||
|
||||
#include <list>
|
||||
|
||||
#include "webrtc/modules/rtp_rtcp/interface/rtp_rtcp_defines.h" // RTCPReportBlock
|
||||
#include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h"
|
||||
@ -24,58 +23,6 @@ namespace webrtc {
|
||||
namespace RTCPHelp
|
||||
{
|
||||
|
||||
class RTCPPacketInformation
|
||||
{
|
||||
public:
|
||||
RTCPPacketInformation();
|
||||
~RTCPPacketInformation();
|
||||
|
||||
void AddVoIPMetric(const RTCPVoIPMetric* metric);
|
||||
|
||||
void AddApplicationData(const uint8_t* data,
|
||||
const uint16_t size);
|
||||
|
||||
void AddNACKPacket(const uint16_t packetID);
|
||||
void ResetNACKPacketIdArray();
|
||||
|
||||
void AddReportInfo(const uint8_t fractionLost,
|
||||
const uint16_t rtt,
|
||||
const uint32_t extendedHighSeqNum,
|
||||
const uint32_t jitter);
|
||||
|
||||
uint32_t rtcpPacketTypeFlags; // RTCPPacketTypeFlags bit field
|
||||
uint32_t remoteSSRC;
|
||||
|
||||
std::list<uint16_t> nackSequenceNumbers;
|
||||
|
||||
uint8_t applicationSubType;
|
||||
uint32_t applicationName;
|
||||
uint8_t* applicationData;
|
||||
uint16_t applicationLength;
|
||||
|
||||
bool reportBlock;
|
||||
uint8_t fractionLost;
|
||||
uint16_t roundTripTime;
|
||||
uint32_t lastReceivedExtendedHighSeqNum;
|
||||
uint32_t jitter;
|
||||
|
||||
uint32_t interArrivalJitter;
|
||||
|
||||
uint8_t sliPictureId;
|
||||
uint64_t rpsiPictureId;
|
||||
uint32_t receiverEstimatedMaxBitrate;
|
||||
|
||||
uint32_t ntp_secs;
|
||||
uint32_t ntp_frac;
|
||||
uint32_t rtp_timestamp;
|
||||
|
||||
RTCPVoIPMetric* VoIPMetric;
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(RTCPPacketInformation);
|
||||
};
|
||||
|
||||
|
||||
class RTCPReportBlockInformation
|
||||
{
|
||||
public:
|
||||
@ -94,6 +41,51 @@ public:
|
||||
uint32_t numAverageCalcs;
|
||||
};
|
||||
|
||||
class RTCPPacketInformation
|
||||
{
|
||||
public:
|
||||
RTCPPacketInformation();
|
||||
~RTCPPacketInformation();
|
||||
|
||||
void AddVoIPMetric(const RTCPVoIPMetric* metric);
|
||||
|
||||
void AddApplicationData(const uint8_t* data,
|
||||
const uint16_t size);
|
||||
|
||||
void AddNACKPacket(const uint16_t packetID);
|
||||
void ResetNACKPacketIdArray();
|
||||
|
||||
void AddReportInfo(const RTCPReportBlockInformation& report_block_info);
|
||||
|
||||
uint32_t rtcpPacketTypeFlags; // RTCPPacketTypeFlags bit field
|
||||
uint32_t remoteSSRC;
|
||||
|
||||
std::list<uint16_t> nackSequenceNumbers;
|
||||
|
||||
uint8_t applicationSubType;
|
||||
uint32_t applicationName;
|
||||
uint8_t* applicationData;
|
||||
uint16_t applicationLength;
|
||||
|
||||
ReportBlockList report_blocks;
|
||||
uint16_t rtt;
|
||||
|
||||
uint32_t interArrivalJitter;
|
||||
|
||||
uint8_t sliPictureId;
|
||||
uint64_t rpsiPictureId;
|
||||
uint32_t receiverEstimatedMaxBitrate;
|
||||
|
||||
uint32_t ntp_secs;
|
||||
uint32_t ntp_frac;
|
||||
uint32_t rtp_timestamp;
|
||||
|
||||
RTCPVoIPMetric* VoIPMetric;
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(RTCPPacketInformation);
|
||||
};
|
||||
|
||||
class RTCPReceiveInformation
|
||||
{
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user