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:
stefan@webrtc.org
2013-09-17 07:49:56 +00:00
parent fc10c5c97f
commit 28a331eede
11 changed files with 457 additions and 190 deletions

View File

@ -26,11 +26,7 @@ RTCPPacketInformation::RTCPPacketInformation()
applicationName(0),
applicationData(),
applicationLength(0),
reportBlock(false),
fractionLost(0),
roundTripTime(0),
lastReceivedExtendedHighSeqNum(0),
jitter(0),
rtt(0),
interArrivalJitter(0),
sliPictureId(0),
rpsiPictureId(0),
@ -95,16 +91,11 @@ RTCPPacketInformation::AddNACKPacket(const uint16_t packetID)
}
void
RTCPPacketInformation::AddReportInfo(const uint8_t fraction,
const uint16_t rtt,
const uint32_t extendedHighSeqNum,
const uint32_t j)
RTCPPacketInformation::AddReportInfo(
const RTCPReportBlockInformation& report_block_info)
{
reportBlock = true;
fractionLost = fraction;
roundTripTime = rtt;
jitter = j;
lastReceivedExtendedHighSeqNum = extendedHighSeqNum;
this->rtt = report_block_info.RTT;
report_blocks.push_back(report_block_info.remoteReceiveBlock);
}
RTCPReportBlockInformation::RTCPReportBlockInformation():