Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc b/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc |
index ab1863ed46bc973fa0037a75fdb142bd1e5139ac..2e7fc83456809cd058ccb192b476ddd2abfa47b6 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/sender_report.cc |
@@ -14,8 +14,6 @@ |
#include "webrtc/base/logging.h" |
#include "webrtc/modules/rtp_rtcp/source/byte_io.h" |
-using webrtc::RTCPUtility::RtcpCommonHeader; |
- |
namespace webrtc { |
namespace rtcp { |
// Sender report (SR) (RFC 3550). |
@@ -43,17 +41,17 @@ SenderReport::SenderReport() |
sender_packet_count_(0), |
sender_octet_count_(0) {} |
-bool SenderReport::Parse(const RtcpCommonHeader& header, |
- const uint8_t* payload) { |
- RTC_DCHECK(header.packet_type == kPacketType); |
+bool SenderReport::Parse(const CommonHeader& packet) { |
+ RTC_DCHECK(packet.type() == kPacketType); |
- const uint8_t report_block_count = header.count_or_format; |
- if (header.payload_size_bytes < |
+ const uint8_t report_block_count = packet.count(); |
+ if (packet.payload_size_bytes() < |
kSenderBaseLength + report_block_count * ReportBlock::kLength) { |
LOG(LS_WARNING) << "Packet is too small to contain all the data."; |
return false; |
} |
// Read SenderReport header. |
+ const uint8_t* const payload = packet.payload(); |
sender_ssrc_ = ByteReader<uint32_t>::ReadBigEndian(&payload[0]); |
uint32_t secs = ByteReader<uint32_t>::ReadBigEndian(&payload[4]); |
uint32_t frac = ByteReader<uint32_t>::ReadBigEndian(&payload[8]); |
@@ -69,14 +67,15 @@ bool SenderReport::Parse(const RtcpCommonHeader& header, |
next_block += ReportBlock::kLength; |
} |
// Double check we didn't read beyond provided buffer. |
- RTC_DCHECK_LE(next_block, payload + header.payload_size_bytes); |
+ RTC_DCHECK_EQ(next_block - payload, |
+ static_cast<ptrdiff_t>(packet.payload_size_bytes())); |
return true; |
} |
bool SenderReport::Create(uint8_t* packet, |
size_t* index, |
size_t max_length, |
- RtcpPacket::PacketReadyCallback* callback) const { |
+ PacketReadyCallback* callback) const { |
while (*index + BlockLength() > max_length) { |
if (!OnBufferFull(packet, index, callback)) |
return false; |