Index: webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
index bd7df42288e1ad099334bf23f8c0b846813a7880..43433b94d97a2342be5867aea7e9255c38708950 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
+++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc |
@@ -10,38 +10,10 @@ |
#include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" |
-#include <assert.h> |
-#include <math.h> // ceil |
-#include <string.h> // memcpy |
- |
-#if defined(_WIN32) |
-// Order for these headers are important |
-#include <winsock2.h> // timeval |
-#include <windows.h> // FILETIME NOLINT(build/include_alpha) |
-#include <MMSystem.h> // timeGetTime |
-#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_MAC)) |
-#include <sys/time.h> // gettimeofday |
-#include <time.h> |
-#endif |
-#if (!defined(NDEBUG) && defined(_WIN32) && (_MSC_VER >= 1400)) |
-#include <stdio.h> |
-#endif |
+#include <string.h> |
#include "webrtc/base/logging.h" |
#include "webrtc/modules/rtp_rtcp/source/byte_io.h" |
-#include "webrtc/system_wrappers/include/tick_util.h" |
- |
-#if (!defined(NDEBUG) && defined(_WIN32) && (_MSC_VER >= 1400)) |
-#define DEBUG_PRINT(...) \ |
- { \ |
- char msg[256]; \ |
- sprintf(msg, __VA_ARGS__); \ |
- OutputDebugString(msg); \ |
- } |
-#else |
-// special fix for visual 2003 |
-#define DEBUG_PRINT(exp) ((void)0) |
-#endif // !defined(NDEBUG) && defined(_WIN32) |
namespace webrtc { |
@@ -83,12 +55,12 @@ enum { |
#if defined(_WIN32) |
bool StringCompare(const char* str1, const char* str2, |
const uint32_t length) { |
- return (_strnicmp(str1, str2, length) == 0) ? true : false; |
+ return _strnicmp(str1, str2, length) == 0; |
} |
#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) |
bool StringCompare(const char* str1, const char* str2, |
const uint32_t length) { |
- return (strncasecmp(str1, str2, length) == 0) ? true : false; |
+ return strncasecmp(str1, str2, length) == 0; |
} |
#endif |
@@ -99,10 +71,6 @@ size_t Word32Align(size_t size) { |
return size; |
} |
-uint32_t pow2(uint8_t exp) { |
- return 1 << exp; |
-} |
- |
RtpHeaderParser::RtpHeaderParser(const uint8_t* rtpData, |
const size_t rtpDataLength) |
: _ptrRTPDataBegin(rtpData), |
@@ -212,7 +180,7 @@ bool RtpHeaderParser::ParseRtcp(RTPHeader* header) const { |
return true; |
} |
-bool RtpHeaderParser::Parse(RTPHeader& header, |
+bool RtpHeaderParser::Parse(RTPHeader* header, |
RtpHeaderExtensionMap* ptrExtensionMap) const { |
const ptrdiff_t length = _ptrRTPDataEnd - _ptrRTPDataBegin; |
if (length < kRtpMinParseLength) { |
@@ -251,39 +219,39 @@ bool RtpHeaderParser::Parse(RTPHeader& header, |
return false; |
} |
- header.markerBit = M; |
- header.payloadType = PT; |
- header.sequenceNumber = sequenceNumber; |
- header.timestamp = RTPTimestamp; |
- header.ssrc = SSRC; |
- header.numCSRCs = CC; |
- header.paddingLength = P ? *(_ptrRTPDataEnd - 1) : 0; |
+ header->markerBit = M; |
+ header->payloadType = PT; |
+ header->sequenceNumber = sequenceNumber; |
+ header->timestamp = RTPTimestamp; |
+ header->ssrc = SSRC; |
+ header->numCSRCs = CC; |
+ header->paddingLength = P ? *(_ptrRTPDataEnd - 1) : 0; |
for (uint8_t i = 0; i < CC; ++i) { |
uint32_t CSRC = ByteReader<uint32_t>::ReadBigEndian(ptr); |
ptr += 4; |
- header.arrOfCSRCs[i] = CSRC; |
+ header->arrOfCSRCs[i] = CSRC; |
} |
- header.headerLength = 12 + CSRCocts; |
+ header->headerLength = 12 + CSRCocts; |
// If in effect, MAY be omitted for those packets for which the offset |
// is zero. |
- header.extension.hasTransmissionTimeOffset = false; |
- header.extension.transmissionTimeOffset = 0; |
+ header->extension.hasTransmissionTimeOffset = false; |
+ header->extension.transmissionTimeOffset = 0; |
// May not be present in packet. |
- header.extension.hasAbsoluteSendTime = false; |
- header.extension.absoluteSendTime = 0; |
+ header->extension.hasAbsoluteSendTime = false; |
+ header->extension.absoluteSendTime = 0; |
// May not be present in packet. |
- header.extension.hasAudioLevel = false; |
- header.extension.voiceActivity = false; |
- header.extension.audioLevel = 0; |
+ header->extension.hasAudioLevel = false; |
+ header->extension.voiceActivity = false; |
+ header->extension.audioLevel = 0; |
// May not be present in packet. |
- header.extension.hasVideoRotation = false; |
- header.extension.videoRotation = 0; |
+ header->extension.hasVideoRotation = false; |
+ header->extension.videoRotation = 0; |
if (X) { |
/* RTP header extension, RFC 3550. |
@@ -300,7 +268,7 @@ bool RtpHeaderParser::Parse(RTPHeader& header, |
return false; |
} |
- header.headerLength += 4; |
+ header->headerLength += 4; |
uint16_t definedByProfile = ByteReader<uint16_t>::ReadBigEndian(ptr); |
ptr += 2; |
@@ -320,15 +288,16 @@ bool RtpHeaderParser::Parse(RTPHeader& header, |
ptrRTPDataExtensionEnd, |
ptr); |
} |
- header.headerLength += XLen; |
+ header->headerLength += XLen; |
} |
- if (header.headerLength + header.paddingLength > static_cast<size_t>(length)) |
+ if (header->headerLength + header->paddingLength > |
+ static_cast<size_t>(length)) |
return false; |
return true; |
} |
void RtpHeaderParser::ParseOneByteExtensionHeader( |
- RTPHeader& header, |
+ RTPHeader* header, |
const RtpHeaderExtensionMap* ptrExtensionMap, |
const uint8_t* ptrRTPDataExtensionEnd, |
const uint8_t* ptr) const { |
@@ -374,9 +343,9 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( |
// | ID | len=2 | transmission offset | |
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
- header.extension.transmissionTimeOffset = |
+ header->extension.transmissionTimeOffset = |
ByteReader<int32_t, 3>::ReadBigEndian(ptr); |
- header.extension.hasTransmissionTimeOffset = true; |
+ header->extension.hasTransmissionTimeOffset = true; |
break; |
} |
case kRtpExtensionAudioLevel: { |
@@ -390,9 +359,9 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( |
// | ID | len=0 |V| level | |
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
// |
- header.extension.audioLevel = ptr[0] & 0x7f; |
- header.extension.voiceActivity = (ptr[0] & 0x80) != 0; |
- header.extension.hasAudioLevel = true; |
+ header->extension.audioLevel = ptr[0] & 0x7f; |
+ header->extension.voiceActivity = (ptr[0] & 0x80) != 0; |
+ header->extension.hasAudioLevel = true; |
break; |
} |
case kRtpExtensionAbsoluteSendTime: { |
@@ -406,9 +375,9 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( |
// | ID | len=2 | absolute send time | |
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
- header.extension.absoluteSendTime = |
+ header->extension.absoluteSendTime = |
ByteReader<uint32_t, 3>::ReadBigEndian(ptr); |
- header.extension.hasAbsoluteSendTime = true; |
+ header->extension.hasAbsoluteSendTime = true; |
break; |
} |
case kRtpExtensionVideoRotation: { |
@@ -422,8 +391,8 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( |
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
// | ID | len=0 |0 0 0 0 C F R R| |
// +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
- header.extension.hasVideoRotation = true; |
- header.extension.videoRotation = ptr[0]; |
+ header->extension.hasVideoRotation = true; |
+ header->extension.videoRotation = ptr[0]; |
break; |
} |
case kRtpExtensionTransportSequenceNumber: { |
@@ -440,8 +409,8 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( |
uint16_t sequence_number = ptr[0] << 8; |
sequence_number += ptr[1]; |
- header.extension.transportSequenceNumber = sequence_number; |
- header.extension.hasTransportSequenceNumber = true; |
+ header->extension.transportSequenceNumber = sequence_number; |
+ header->extension.hasTransportSequenceNumber = true; |
break; |
} |
default: { |
@@ -470,5 +439,4 @@ uint8_t RtpHeaderParser::ParsePaddingBytes( |
return num_zero_bytes; |
} |
} // namespace RtpUtility |
- |
} // namespace webrtc |