| 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
 | 
| 
 |