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