Use size_t more consistently for packet/payload lengths.
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information. This CL was reviewed and approved in pieces in the following CLs: https://webrtc-codereview.appspot.com/24209004/ https://webrtc-codereview.appspot.com/24229004/ https://webrtc-codereview.appspot.com/24259004/ https://webrtc-codereview.appspot.com/25109004/ https://webrtc-codereview.appspot.com/26099004/ https://webrtc-codereview.appspot.com/27069004/ https://webrtc-codereview.appspot.com/27969004/ https://webrtc-codereview.appspot.com/27989004/ https://webrtc-codereview.appspot.com/29009004/ https://webrtc-codereview.appspot.com/30929004/ https://webrtc-codereview.appspot.com/30939004/ https://webrtc-codereview.appspot.com/31999004/ Committing as TBR to the original reviewers. BUG=chromium:81439 TEST=none TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom Review URL: https://webrtc-codereview.appspot.com/23129004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -12,6 +12,7 @@
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdio.h>
|
||||
#include <limits>
|
||||
|
||||
#include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
|
||||
#include "webrtc/system_wrappers/interface/logging.h"
|
||||
@ -145,7 +146,7 @@ bool RtpDumpImpl::IsActive() const
|
||||
return _file.Open();
|
||||
}
|
||||
|
||||
int32_t RtpDumpImpl::DumpPacket(const uint8_t* packet, uint16_t packetLength)
|
||||
int32_t RtpDumpImpl::DumpPacket(const uint8_t* packet, size_t packetLength)
|
||||
{
|
||||
CriticalSectionScoped lock(_critSect);
|
||||
if (!IsActive())
|
||||
@ -158,7 +159,9 @@ int32_t RtpDumpImpl::DumpPacket(const uint8_t* packet, uint16_t packetLength)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (packetLength < 1)
|
||||
rtpDumpPktHdr_t hdr;
|
||||
size_t total_size = packetLength + sizeof hdr;
|
||||
if (packetLength < 1 || total_size > std::numeric_limits<uint16_t>::max())
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
@ -167,11 +170,8 @@ int32_t RtpDumpImpl::DumpPacket(const uint8_t* packet, uint16_t packetLength)
|
||||
// considered RTP (without further verification).
|
||||
bool isRTCP = RTCP(packet);
|
||||
|
||||
rtpDumpPktHdr_t hdr;
|
||||
uint32_t offset;
|
||||
|
||||
// Offset is relative to when recording was started.
|
||||
offset = GetTimeInMS();
|
||||
uint32_t offset = GetTimeInMS();
|
||||
if (offset < _startTime)
|
||||
{
|
||||
// Compensate for wraparound.
|
||||
@ -181,7 +181,7 @@ int32_t RtpDumpImpl::DumpPacket(const uint8_t* packet, uint16_t packetLength)
|
||||
}
|
||||
hdr.offset = RtpDumpHtonl(offset);
|
||||
|
||||
hdr.length = RtpDumpHtons((uint16_t)(packetLength + sizeof(hdr)));
|
||||
hdr.length = RtpDumpHtons((uint16_t)(total_size));
|
||||
if (isRTCP)
|
||||
{
|
||||
hdr.plen = 0;
|
||||
|
||||
Reference in New Issue
Block a user