Index: webrtc/modules/rtp_rtcp/source/rtcp_packet.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet.cc |
index 792caa7b8b701f96886ab3c529ed94c1150510ca..17de039590d410cd5647c086714374983695dd6b 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet.cc |
@@ -154,18 +154,13 @@ void CreateReceiverReport(const RTCPPacketRR& rr, |
// | delay since last SR (DLSR) | |
// +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ |
-void CreateReportBlocks(const std::vector<RTCPPacketReportBlockItem>& blocks, |
+void CreateReportBlocks(const std::vector<ReportBlock>& blocks, |
uint8_t* buffer, |
size_t* pos) { |
- for (std::vector<RTCPPacketReportBlockItem>::const_iterator |
- it = blocks.begin(); it != blocks.end(); ++it) { |
- AssignUWord32(buffer, pos, (*it).SSRC); |
- AssignUWord8(buffer, pos, (*it).FractionLost); |
- AssignUWord24(buffer, pos, (*it).CumulativeNumOfPacketsLost); |
- AssignUWord32(buffer, pos, (*it).ExtendedHighestSequenceNumber); |
- AssignUWord32(buffer, pos, (*it).Jitter); |
- AssignUWord32(buffer, pos, (*it).LastSR); |
- AssignUWord32(buffer, pos, (*it).DelayLastSR); |
+ for (const ReportBlock& block : blocks) { |
+ size_t bytes_consumed = block.Create(buffer + *pos); |
+ RTC_CHECK_GT(bytes_consumed, 0u); |
åsapersson
2015/11/12 14:26:24
Maybe move check to when setting the field cum los
danilchap
2015/11/12 15:30:45
Moved check for CumulativeLost to ReportBlock::Wit
|
+ *pos += bytes_consumed; |
} |
} |
@@ -781,7 +776,7 @@ bool SenderReport::WithReportBlock(const ReportBlock& block) { |
LOG(LS_WARNING) << "Max report blocks reached."; |
return false; |
} |
- report_blocks_.push_back(block.report_block_); |
+ report_blocks_.push_back(block); |
sr_.NumberOfReportBlocks = report_blocks_.size(); |
return true; |
} |
@@ -805,7 +800,7 @@ bool ReceiverReport::WithReportBlock(const ReportBlock& block) { |
LOG(LS_WARNING) << "Max report blocks reached."; |
return false; |
} |
- report_blocks_.push_back(block.report_block_); |
+ report_blocks_.push_back(block); |
rr_.NumberOfReportBlocks = report_blocks_.size(); |
return true; |
} |