Cleaning up all use of RTP_PAYLOAD_NAME_SIZE and RTCP_CNAME_SIZE also fixed the char handing in trace.
Review URL: https://webrtc-codereview.appspot.com/358001

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1535 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/src/modules/interface/module.h b/src/modules/interface/module.h
index a274d95..37e5027 100644
--- a/src/modules/interface/module.h
+++ b/src/modules/interface/module.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -41,7 +41,7 @@
   // TODO(perkj): Make this pure virtual when Chromium have implemented  
   // reference counting ADM and Video capture module.
   virtual int32_t AddRef() {
-    assert(!"Not implemented.");
+    assert(false && "Not implemented.");
     return 1;
   }
 
@@ -52,7 +52,7 @@
   // TODO(perkj): Make this pure virtual when Chromium have implemented  
   // reference counting ADM and Video capture module.
   virtual int32_t Release() {
-    assert(!"Not implemented.");
+    assert(false && "Not implemented.");
     return 1;
   }
 
diff --git a/src/modules/rtp_rtcp/interface/rtp_rtcp.h b/src/modules/rtp_rtcp/interface/rtp_rtcp.h
index 0032c4b..08a92b3 100644
--- a/src/modules/rtp_rtcp/interface/rtp_rtcp.h
+++ b/src/modules/rtp_rtcp/interface/rtp_rtcp.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -621,14 +621,14 @@
     *
     *   return -1 on failure else 0
     */
-    virtual WebRtc_Word32 SetCNAME(const WebRtc_Word8 cName[RTCP_CNAME_SIZE]) = 0;
+    virtual WebRtc_Word32 SetCNAME(const char cName[RTCP_CNAME_SIZE]) = 0;
 
     /*
     *   Get RTCP CName (i.e unique identifier)
     *
     *   return -1 on failure else 0
     */
-    virtual WebRtc_Word32 CNAME(WebRtc_Word8 cName[RTCP_CNAME_SIZE]) = 0;
+    virtual WebRtc_Word32 CNAME(char cName[RTCP_CNAME_SIZE]) = 0;
 
     /*
     *   Get remote CName
@@ -637,7 +637,7 @@
     */
     virtual WebRtc_Word32 RemoteCNAME(
         const WebRtc_UWord32 remoteSSRC,
-        WebRtc_Word8 cName[RTCP_CNAME_SIZE]) const = 0;
+        char cName[RTCP_CNAME_SIZE]) const = 0;
 
     /*
     *   Get remote NTP
@@ -657,7 +657,7 @@
     */
     virtual WebRtc_Word32 AddMixedCNAME(
         const WebRtc_UWord32 SSRC,
-        const WebRtc_Word8 cName[RTCP_CNAME_SIZE]) = 0;
+        const char cName[RTCP_CNAME_SIZE]) = 0;
 
     /*
     *   RemoveMixedCNAME
diff --git a/src/modules/rtp_rtcp/interface/rtp_rtcp_defines.h b/src/modules/rtp_rtcp/interface/rtp_rtcp_defines.h
index d154cfd..fbbb032 100644
--- a/src/modules/rtp_rtcp/interface/rtp_rtcp_defines.h
+++ b/src/modules/rtp_rtcp/interface/rtp_rtcp_defines.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -189,7 +189,7 @@
     virtual WebRtc_Word32 OnInitializeDecoder(
         const WebRtc_Word32 id,
         const WebRtc_Word8 payloadType,
-        const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+        const char payloadName[RTP_PAYLOAD_NAME_SIZE],
         const int frequency,
         const WebRtc_UWord8 channels,
         const WebRtc_UWord32 rate) = 0;
diff --git a/src/modules/rtp_rtcp/source/rtcp_receiver.cc b/src/modules/rtp_rtcp/source/rtcp_receiver.cc
index 468d16b..f7d08f0 100644
--- a/src/modules/rtp_rtcp/source/rtcp_receiver.cc
+++ b/src/modules/rtp_rtcp/source/rtcp_receiver.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -564,6 +564,7 @@
     return it->second;
   }
   RTCPCnameInformation* cnameInfo = new RTCPCnameInformation;
+  memset(cnameInfo->name, 0, RTCP_CNAME_SIZE);
   _receivedCnameMap[remoteSSRC] = cnameInfo;
   return cnameInfo;
 }
@@ -707,17 +708,14 @@
 }
 
 // no need for critsect we have _criticalSectionRTCPReceiver
-void
-RTCPReceiver::HandleSDESChunk(RTCPUtility::RTCPParserV2& rtcpParser)
-{
-    const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
+void RTCPReceiver::HandleSDESChunk(RTCPUtility::RTCPParserV2& rtcpParser) {
+  const RTCPUtility::RTCPPacket& rtcpPacket = rtcpParser.Packet();
+  RTCPCnameInformation* cnameInfo =
+      CreateCnameInformation(rtcpPacket.CName.SenderSSRC);
+  assert(cnameInfo);
 
-    RTCPCnameInformation* cnameInfo = CreateCnameInformation(rtcpPacket.CName.SenderSSRC);
-    if (cnameInfo)
-    {
-        memcpy(cnameInfo->name, rtcpPacket.CName.CName, rtcpPacket.CName.CNameLength);
-        cnameInfo->length = rtcpPacket.CName.CNameLength;
-    }
+  cnameInfo->name[RTCP_CNAME_SIZE - 1] = 0;
+  strncpy(cnameInfo->name, rtcpPacket.CName.CName, RTCP_CNAME_SIZE - 1);
 }
 
 // no need for critsect we have _criticalSectionRTCPReceiver
@@ -1383,27 +1381,20 @@
 
 }
 
-WebRtc_Word32
-RTCPReceiver::CNAME(const WebRtc_UWord32 remoteSSRC,
-                    WebRtc_Word8 cName[RTCP_CNAME_SIZE]) const
-{
-    if(cName == NULL)
-    {
-        WEBRTC_TRACE(kTraceError, kTraceRtpRtcp, _id, "%s invalid argument", __FUNCTION__);
-        return -1;
-    }
+WebRtc_Word32 RTCPReceiver::CNAME(const WebRtc_UWord32 remoteSSRC,
+                                  char cName[RTCP_CNAME_SIZE]) const {
+  if (cName == NULL) {
+    WEBRTC_TRACE(kTraceError, kTraceRtpRtcp, _id,
+                 "%s invalid argument", __FUNCTION__);
+    return -1;
+  }
+  CriticalSectionScoped lock(_criticalSectionRTCPReceiver);
+  RTCPCnameInformation* cnameInfo = GetCnameInformation(remoteSSRC);
+  assert(cnameInfo);
 
-    CriticalSectionScoped lock(_criticalSectionRTCPReceiver);
-
-    RTCPCnameInformation* cnameInfo = GetCnameInformation(remoteSSRC);
-    if(cnameInfo == NULL)
-    {
-        WEBRTC_TRACE(kTraceError, kTraceRtpRtcp, _id,  "\tfailed to GetCnameInformation(%d)", remoteSSRC);
-        return -1;
-    }
-    memcpy(cName, cnameInfo->name, cnameInfo->length);
-    cName[cnameInfo->length] = 0;
-    return 0;
+  cName[RTCP_CNAME_SIZE - 1] = 0;
+  strncpy(cName, cnameInfo->name, RTCP_CNAME_SIZE - 1);
+  return 0;
 }
 
 // no callbacks allowed inside this function
diff --git a/src/modules/rtp_rtcp/source/rtcp_receiver.h b/src/modules/rtp_rtcp/source/rtcp_receiver.h
index 738b030..580b1c1 100644
--- a/src/modules/rtp_rtcp/source/rtcp_receiver.h
+++ b/src/modules/rtp_rtcp/source/rtcp_receiver.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -54,7 +54,7 @@
 
     // get received cname
     WebRtc_Word32 CNAME(const WebRtc_UWord32 remoteSSRC,
-                        WebRtc_Word8 cName[RTCP_CNAME_SIZE]) const;
+                        char cName[RTCP_CNAME_SIZE]) const;
 
     // get received NTP
     WebRtc_Word32 NTP(WebRtc_UWord32 *ReceivedNTPsecs,
diff --git a/src/modules/rtp_rtcp/source/rtcp_sender.cc b/src/modules/rtp_rtcp/source/rtcp_sender.cc
index f8ad39f..c8a9cdd 100644
--- a/src/modules/rtp_rtcp/source/rtcp_sender.cc
+++ b/src/modules/rtp_rtcp/source/rtcp_sender.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -345,54 +345,38 @@
     return 0;
 }
 
-WebRtc_Word32
-RTCPSender::CNAME(WebRtc_Word8 cName[RTCP_CNAME_SIZE])
-{
-    if(cName == NULL)
-    {
-        WEBRTC_TRACE(kTraceError, kTraceRtpRtcp, _id, "%s invalid argument", __FUNCTION__);
-        return -1;
-    }
-    CriticalSectionScoped lock(_criticalSectionRTCPSender);
-    memcpy(cName, _CNAME, RTCP_CNAME_SIZE);
-    return 0;
-}
-
-WebRtc_Word32 RTCPSender::SetCNAME(const WebRtc_Word8 cName[RTCP_CNAME_SIZE]) {
-  size_t length = strlen(cName);
-  if (length >= RTCP_CNAME_SIZE) {
-    WEBRTC_TRACE(kTraceError, kTraceRtpRtcp, _id,
-                 "%s invalid argument, too long cName", __FUNCTION__);
-    return -1;
-  }
+WebRtc_Word32 RTCPSender::CNAME(char cName[RTCP_CNAME_SIZE]) {
+  assert(cName);
   CriticalSectionScoped lock(_criticalSectionRTCPSender);
-  memcpy(_CNAME, cName, length + 1);
+  cName[RTCP_CNAME_SIZE - 1] = 0;
+  strncpy(cName, _CNAME, RTCP_CNAME_SIZE - 1);
   return 0;
 }
 
-WebRtc_Word32 RTCPSender::AddMixedCNAME(
-    const WebRtc_UWord32 SSRC,
-    const WebRtc_Word8 cName[RTCP_CNAME_SIZE]) {
-  size_t length = strlen(cName);
-  if (length >= RTCP_CNAME_SIZE) {
-    WEBRTC_TRACE(kTraceError, kTraceRtpRtcp, _id,
-                 "%s invalid argument, too long cName", __FUNCTION__);
-    return -1;
-  }
+WebRtc_Word32 RTCPSender::SetCNAME(const char cName[RTCP_CNAME_SIZE]) {
+  assert(cName);
+  CriticalSectionScoped lock(_criticalSectionRTCPSender);
+  _CNAME[RTCP_CNAME_SIZE - 1] = 0;
+  strncpy(_CNAME, cName, RTCP_CNAME_SIZE - 1);
+  return 0;
+}
+
+WebRtc_Word32 RTCPSender::AddMixedCNAME(const WebRtc_UWord32 SSRC,
+                                        const char cName[RTCP_CNAME_SIZE]) {
+  assert(cName);
   CriticalSectionScoped lock(_criticalSectionRTCPSender);
   if (_csrcCNAMEs.size() >= kRtpCsrcSize) {
     return -1;
   }
   RTCPCnameInformation* ptr = new RTCPCnameInformation();
-  memcpy(ptr->name, cName, length + 1);
-  ptr->length = static_cast<WebRtc_UWord8>(length);
+  ptr->name[RTCP_CNAME_SIZE - 1] = 0;
+  strncpy(ptr->name, cName, RTCP_CNAME_SIZE - 1);
   _csrcCNAMEs[SSRC] = ptr;
   return 0;
 }
 
 WebRtc_Word32 RTCPSender::RemoveMixedCNAME(const WebRtc_UWord32 SSRC) {
   CriticalSectionScoped lock(_criticalSectionRTCPSender);
-
   std::map<WebRtc_UWord32, RTCPCnameInformation*>::iterator it =
       _csrcCNAMEs.find(SSRC);
 
@@ -747,14 +731,16 @@
     // CNAME = 1
     rtcpbuffer[pos++] = static_cast<WebRtc_UWord8>(1);
 
-    rtcpbuffer[pos++]= cname->length;
+    size_t length = strlen(cname->name);
+    assert(length < RTCP_CNAME_SIZE);
 
+    rtcpbuffer[pos++]= static_cast<WebRtc_UWord8>(length);
     SDESLength += 6;
 
-    memcpy(&rtcpbuffer[pos], cname->name, cname->length);
-    pos += cname->length;
-    SDESLength += cname->length;
+    memcpy(&rtcpbuffer[pos],cname->name, length);
 
+    pos += length;
+    SDESLength += length;
     WebRtc_UWord16 padding = 0;
 
     // We must have a zero field even if we have an even multiple of 4 bytes
@@ -769,8 +755,9 @@
     SDESLength += padding;
   }
   // in 32-bit words minus one and we don't count the header
-  WebRtc_UWord16 length = (SDESLength / 4) - 1;
-  ModuleRTPUtility::AssignUWord16ToBuffer(rtcpbuffer + SDESLengthPos, length);
+  WebRtc_UWord16 buffer_length = (SDESLength / 4) - 1;
+  ModuleRTPUtility::AssignUWord16ToBuffer(rtcpbuffer + SDESLengthPos,
+                                          buffer_length);
   return 0;
 }
 
diff --git a/src/modules/rtp_rtcp/source/rtcp_sender.h b/src/modules/rtp_rtcp/source/rtcp_sender.h
index c7c163f..fec0b28 100644
--- a/src/modules/rtp_rtcp/source/rtcp_sender.h
+++ b/src/modules/rtp_rtcp/source/rtcp_sender.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -51,11 +51,11 @@
 
     WebRtc_Word32 SetCameraDelay(const WebRtc_Word32 delayMS);
 
-    WebRtc_Word32 CNAME(WebRtc_Word8 cName[RTCP_CNAME_SIZE]);
-    WebRtc_Word32 SetCNAME(const WebRtc_Word8 cName[RTCP_CNAME_SIZE]);
+    WebRtc_Word32 CNAME(char cName[RTCP_CNAME_SIZE]);
+    WebRtc_Word32 SetCNAME(const char cName[RTCP_CNAME_SIZE]);
 
     WebRtc_Word32 AddMixedCNAME(const WebRtc_UWord32 SSRC,
-                              const WebRtc_Word8 cName[RTCP_CNAME_SIZE]);
+                                const char cName[RTCP_CNAME_SIZE]);
 
     WebRtc_Word32 RemoveMixedCNAME(const WebRtc_UWord32 SSRC);
 
diff --git a/src/modules/rtp_rtcp/source/rtcp_utility.cc b/src/modules/rtp_rtcp/source/rtcp_utility.cc
index 0cba9a8..f421672 100644
--- a/src/modules/rtp_rtcp/source/rtcp_utility.cc
+++ b/src/modules/rtp_rtcp/source/rtcp_utility.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -16,17 +16,6 @@
 
 
 namespace webrtc {
-RTCPUtility::RTCPCnameInformation::RTCPCnameInformation() :
-    length(0)
-{
-    memset(name, 0, sizeof(name));
-}
-
-RTCPUtility::RTCPCnameInformation::~RTCPCnameInformation()
-{
-}
-
-///////////
 // RTCPParserV2 : currently read only
 
 RTCPUtility::RTCPParserV2::RTCPParserV2(const WebRtc_UWord8* rtcpData,
@@ -759,8 +748,8 @@
                     EndCurrentBlock();
                     return false;
                 }
-
-                for (unsigned int i = 0; i < len; ++i)
+                WebRtc_UWord8 i = 0;
+                for (; i < len; ++i)
                 {
                     const WebRtc_UWord8 c = _ptrRTCPData[i];
                     if ((c < ' ') || (c > '{') || (c == '%') || (c == '\\'))
@@ -771,16 +760,14 @@
                         EndCurrentBlock();
                         return false;
                     }
-
                     _packet.CName.CName[i] = c;
                 }
-
-                _packetType               = kRtcpSdesChunkCode;
-                _packet.CName.CNameLength = len;
+                // Make sure we are null terminated.
+                _packet.CName.CName[i] = 0;
+                _packetType = kRtcpSdesChunkCode;
 
                 foundCName = true;
             }
-
             _ptrRTCPData += len;
             itemOctetsRead += len;
         }
diff --git a/src/modules/rtp_rtcp/source/rtcp_utility.h b/src/modules/rtp_rtcp/source/rtcp_utility.h
index 542ec0d..faba2ef 100644
--- a/src/modules/rtp_rtcp/source/rtcp_utility.h
+++ b/src/modules/rtp_rtcp/source/rtcp_utility.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -20,16 +20,10 @@
 namespace webrtc {
 namespace RTCPUtility {
     // CNAME
-    class RTCPCnameInformation
+    struct RTCPCnameInformation
     {
-    public:
-        RTCPCnameInformation();
-        ~RTCPCnameInformation();
-
-        WebRtc_UWord8      name[RTCP_CNAME_SIZE];
-        WebRtc_UWord8      length;
+        char name[RTCP_CNAME_SIZE];
     };
-
     struct RTCPPacketRR
     {
         WebRtc_UWord32 SenderSSRC;
@@ -58,13 +52,11 @@
         WebRtc_UWord32 LastSR;
         WebRtc_UWord32 DelayLastSR;
     };
-
     struct RTCPPacketSDESCName
     {
         // RFC3550
         WebRtc_UWord32 SenderSSRC;
-        WebRtc_UWord8  CName[RTCP_CNAME_SIZE];
-        WebRtc_UWord8  CNameLength;
+        char CName[RTCP_CNAME_SIZE];
     };
 
     struct RTCPPacketExtendedJitterReportItem
diff --git a/src/modules/rtp_rtcp/source/rtp_receiver.cc b/src/modules/rtp_rtcp/source/rtp_receiver.cc
index 0bbcb49..e943cfb 100644
--- a/src/modules/rtp_rtcp/source/rtp_receiver.cc
+++ b/src/modules/rtp_rtcp/source/rtp_receiver.cc
@@ -348,7 +348,7 @@
 }
 
 WebRtc_Word32 RTPReceiver::RegisterReceivePayload(
-    const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+    const char payloadName[RTP_PAYLOAD_NAME_SIZE],
     const WebRtc_Word8 payloadType,
     const WebRtc_UWord32 frequency,
     const WebRtc_UWord8 channels,
@@ -450,7 +450,8 @@
     _redPayloadType = payloadType;
     payload = new Payload;
     payload->audio = false;
-    memcpy(payload->name, payloadName, RTP_PAYLOAD_NAME_SIZE);
+    payload->name[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
+    strncpy(payload->name, payloadName, RTP_PAYLOAD_NAME_SIZE - 1);
   } else {
     if (_audio) {
       payload = RegisterReceiveAudioPayload(payloadName, payloadType,
@@ -493,7 +494,7 @@
 }
 
 WebRtc_Word32 RTPReceiver::ReceivePayloadType(
-    const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+    const char payloadName[RTP_PAYLOAD_NAME_SIZE],
     const WebRtc_UWord32 frequency,
     const WebRtc_UWord8 channels,
     const WebRtc_UWord32 rate,
@@ -549,7 +550,7 @@
 
 WebRtc_Word32 RTPReceiver::ReceivePayload(
     const WebRtc_Word8 payloadType,
-    WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+    char payloadName[RTP_PAYLOAD_NAME_SIZE],
     WebRtc_UWord32* frequency,
     WebRtc_UWord8* channels,
     WebRtc_UWord32* rate) const {
@@ -587,18 +588,20 @@
     }
   }
   if (payloadName) {
-    memcpy(payloadName, payload->name, RTP_PAYLOAD_NAME_SIZE);
+    payloadName[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
+    strncpy(payloadName, payload->name, RTP_PAYLOAD_NAME_SIZE - 1);
   }
   return 0;
 }
 
 WebRtc_Word32 RTPReceiver::RemotePayload(
-    WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+    char payloadName[RTP_PAYLOAD_NAME_SIZE],
     WebRtc_Word8* payloadType,
     WebRtc_UWord32* frequency,
     WebRtc_UWord8* channels) const {
   if(_lastReceivedPayloadType == -1) {
-    WEBRTC_TRACE(kTraceWarning, kTraceRtpRtcp, _id, "%s invalid state", __FUNCTION__);
+    WEBRTC_TRACE(kTraceWarning, kTraceRtpRtcp, _id,
+                 "%s invalid state", __FUNCTION__);
     return -1;
   }
   std::map<WebRtc_Word8, Payload*>::const_iterator it =
@@ -610,7 +613,7 @@
   Payload* payload = it->second;
   assert(payload);
   payloadName[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
-  memcpy(payloadName, payload->name, RTP_PAYLOAD_NAME_SIZE - 1);
+  strncpy(payloadName, payload->name, RTP_PAYLOAD_NAME_SIZE - 1);
 
   if (payloadType) {
     *payloadType = _lastReceivedPayloadType;
@@ -1134,11 +1137,10 @@
 void RTPReceiver::CheckSSRCChanged(const WebRtcRTPHeader* rtpHeader) {
   bool newSSRC = false;
   bool reInitializeDecoder = false;
-  WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE];
+  char payloadName[RTP_PAYLOAD_NAME_SIZE];
   WebRtc_UWord32 frequency = 90000; // default video freq
   WebRtc_UWord8 channels = 1;
   WebRtc_UWord32 rate = 0;
-  memset(payloadName, 0, sizeof(payloadName));
 
   {
     CriticalSectionScoped lock(_criticalSectionRTPReceiver);
@@ -1170,7 +1172,7 @@
           Payload* payload = it->second;
           assert(payload);
           payloadName[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
-          memcpy(payloadName, payload->name, RTP_PAYLOAD_NAME_SIZE - 1);
+          strncpy(payloadName, payload->name, RTP_PAYLOAD_NAME_SIZE - 1);
           if(payload->audio) {
             frequency = payload->typeSpecific.Audio.frequency;
             channels =  payload->typeSpecific.Audio.channels;
@@ -1214,7 +1216,7 @@
     VideoPayload& videoSpecificPayload) {
   bool reInitializeDecoder = false;
 
-  WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE];
+  char payloadName[RTP_PAYLOAD_NAME_SIZE];
   WebRtc_Word8 payloadType = rtpHeader->header.payloadType;
 
   {
@@ -1262,7 +1264,7 @@
       Payload* payload = it->second;
       assert(payload);
       payloadName[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
-      memcpy(payloadName, payload->name, RTP_PAYLOAD_NAME_SIZE - 1);
+      strncpy(payloadName, payload->name, RTP_PAYLOAD_NAME_SIZE - 1);
       _lastReceivedPayloadType = payloadType;
 
       reInitializeDecoder = true;
diff --git a/src/modules/rtp_rtcp/source/rtp_receiver.h b/src/modules/rtp_rtcp/source/rtp_receiver.h
index 142c6cf..4a14c25 100644
--- a/src/modules/rtp_rtcp/source/rtp_receiver.h
+++ b/src/modules/rtp_rtcp/source/rtp_receiver.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -56,31 +56,32 @@
     WebRtc_Word32 RegisterIncomingDataCallback(RtpData* incomingDataCallback);
     WebRtc_Word32 RegisterIncomingRTPCallback(RtpFeedback* incomingMessagesCallback);
 
-    WebRtc_Word32 RegisterReceivePayload( const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
-                                        const WebRtc_Word8 payloadType,
-                                        const WebRtc_UWord32 frequency,
-                                        const WebRtc_UWord8 channels,
-                                        const WebRtc_UWord32 rate);
+    WebRtc_Word32 RegisterReceivePayload(
+        const char payloadName[RTP_PAYLOAD_NAME_SIZE],
+        const WebRtc_Word8 payloadType,
+        const WebRtc_UWord32 frequency,
+        const WebRtc_UWord8 channels,
+        const WebRtc_UWord32 rate);
 
     WebRtc_Word32 DeRegisterReceivePayload(const WebRtc_Word8 payloadType);
 
     WebRtc_Word32 ReceivePayloadType(
-        const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+        const char payloadName[RTP_PAYLOAD_NAME_SIZE],
         const WebRtc_UWord32 frequency,
         const WebRtc_UWord8 channels,
         const WebRtc_UWord32 rate,
         WebRtc_Word8* payloadType) const;
 
     WebRtc_Word32 ReceivePayload(const WebRtc_Word8 payloadType,
-                                 WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+                                 char payloadName[RTP_PAYLOAD_NAME_SIZE],
                                  WebRtc_UWord32* frequency,
                                  WebRtc_UWord8* channels,
                                  WebRtc_UWord32* rate) const;
 
-    WebRtc_Word32 RemotePayload(WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
-                              WebRtc_Word8* payloadType,
-                              WebRtc_UWord32* frequency,
-                              WebRtc_UWord8* channels) const;
+    WebRtc_Word32 RemotePayload(char payloadName[RTP_PAYLOAD_NAME_SIZE],
+                                WebRtc_Word8* payloadType,
+                                WebRtc_UWord32* frequency,
+                                WebRtc_UWord8* channels) const;
 
     WebRtc_Word32 IncomingRTPPacket(WebRtcRTPHeader* rtpheader,
                                     const WebRtc_UWord8* incomingRtpPacket,
diff --git a/src/modules/rtp_rtcp/source/rtp_receiver_audio.cc b/src/modules/rtp_rtcp/source/rtp_receiver_audio.cc
index b7eda91..80da505 100644
--- a/src/modules/rtp_rtcp/source/rtp_receiver_audio.cc
+++ b/src/modules/rtp_rtcp/source/rtp_receiver_audio.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -202,92 +202,64 @@
    G7221     frame         N/A
 */
 
-ModuleRTPUtility::Payload*
-RTPReceiverAudio::RegisterReceiveAudioPayload(const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
-                                              const WebRtc_Word8 payloadType,
-                                              const WebRtc_UWord32 frequency,
-                                              const WebRtc_UWord8 channels,
-                                              const WebRtc_UWord32 rate)
-{
-    WebRtc_Word32 length = (WebRtc_Word32)strlen(payloadName);
-    if(length > RTP_PAYLOAD_NAME_SIZE)
-    {
-        assert(false);
-        return NULL;
+ModuleRTPUtility::Payload* RTPReceiverAudio::RegisterReceiveAudioPayload(
+    const char payloadName[RTP_PAYLOAD_NAME_SIZE],
+    const WebRtc_Word8 payloadType,
+    const WebRtc_UWord32 frequency,
+    const WebRtc_UWord8 channels,
+    const WebRtc_UWord32 rate) {
+  if (ModuleRTPUtility::StringCompare(payloadName, "telephone-event", 15)) {
+    _telephoneEventPayloadType = payloadType;
+  }
+  if (ModuleRTPUtility::StringCompare(payloadName, "cn", 2)) {
+    //  we can have three CNG on 8000Hz, 16000Hz and 32000Hz
+    if(frequency == 8000){
+      _cngNBPayloadType = payloadType;
+    } else if(frequency == 16000) {
+      _cngWBPayloadType = payloadType;
+    } else if(frequency == 32000) {
+      _cngSWBPayloadType = payloadType;
+    } else {
+      assert(false);
+      return NULL;
     }
-
-    if (ModuleRTPUtility::StringCompare(payloadName,"telephone-event",15))
-    {
-        _telephoneEventPayloadType = payloadType;
+  }
+  WebRtc_UWord8 bitsPerSample = 0; // zero implies frame based
+  if (ModuleRTPUtility::StringCompare(payloadName, "DVI4", 4)) {
+    bitsPerSample = 4;
+  } else if(ModuleRTPUtility::StringCompare(payloadName, "G722", 4)) {
+    if(ModuleRTPUtility::StringCompare(payloadName, "G7221", 5)) {
+      // frame based
+    } else {
+      _G722PayloadType = payloadType;
+      bitsPerSample = 4;
     }
-    if (ModuleRTPUtility::StringCompare(payloadName,"cn",2))
-    {
-        //  we can have three CNG on 8000Hz, 16000Hz and 32000Hz
-        if(frequency == 8000)
-        {
-            _cngNBPayloadType = payloadType;
-
-        } else if(frequency == 16000)
-        {
-            _cngWBPayloadType = payloadType;
-
-        } else if(frequency == 32000)
-        {
-            _cngSWBPayloadType = payloadType;
-        }else
-        {
-            assert(false);
-            return NULL;
-        }
-    }
-    WebRtc_UWord8 bitsPerSample = 0; // zero implies frame based
-    if (ModuleRTPUtility::StringCompare(payloadName,"DVI4",4))
-    {
-        bitsPerSample = 4;
-    } else if(ModuleRTPUtility::StringCompare(payloadName,"G722",4))
-    {
-        if(ModuleRTPUtility::StringCompare(payloadName,"G7221",5))
-        {
-            // frame based
-        } else
-        {
-            _G722PayloadType = payloadType;
-            bitsPerSample = 4;
-        }
-    } else if(ModuleRTPUtility::StringCompare(payloadName,"G726-40",7))
-    {
-        bitsPerSample = 5;
-    } else if(ModuleRTPUtility::StringCompare(payloadName,"G726-32",7))
-    {
-        bitsPerSample = 4;
-    } else if(ModuleRTPUtility::StringCompare(payloadName,"G726-24",7))
-    {
-        bitsPerSample = 3;
-    } else if(ModuleRTPUtility::StringCompare(payloadName,"G726-16",7))
-    {
-        bitsPerSample = 2;
-    } else if(ModuleRTPUtility::StringCompare(payloadName,"L8",2))
-    {
-        bitsPerSample = 8;
-    } else if(ModuleRTPUtility::StringCompare(payloadName,"L16",3))
-    {
-        bitsPerSample = 16;
-    } else if(ModuleRTPUtility::StringCompare(payloadName,"PCMU",4))
-    {
-        bitsPerSample = 8;
-    } else if(ModuleRTPUtility::StringCompare(payloadName,"PCMA",4))
-    {
-        bitsPerSample = 8;
-    }
-
-    ModuleRTPUtility::Payload* payload = new ModuleRTPUtility::Payload;
-    memcpy(payload->name, payloadName, length+1);
-    payload->typeSpecific.Audio.frequency = frequency;
-    payload->typeSpecific.Audio.channels = channels;
-    payload->typeSpecific.Audio.bitsPerSample = bitsPerSample;
-    payload->typeSpecific.Audio.rate = rate;
-    payload->audio = true;
-    return payload;
+  } else if(ModuleRTPUtility::StringCompare(payloadName,"G726-40",7)) {
+    bitsPerSample = 5;
+  } else if(ModuleRTPUtility::StringCompare(payloadName,"G726-32",7)) {
+    bitsPerSample = 4;
+  } else if(ModuleRTPUtility::StringCompare(payloadName,"G726-24",7)) {
+    bitsPerSample = 3;
+  } else if(ModuleRTPUtility::StringCompare(payloadName,"G726-16",7)) {
+    bitsPerSample = 2;
+  } else if(ModuleRTPUtility::StringCompare(payloadName,"L8",2)) {
+    bitsPerSample = 8;
+  } else if(ModuleRTPUtility::StringCompare(payloadName,"L16",3)) {
+    bitsPerSample = 16;
+  } else if(ModuleRTPUtility::StringCompare(payloadName,"PCMU",4)) {
+    bitsPerSample = 8;
+  } else if(ModuleRTPUtility::StringCompare(payloadName,"PCMA",4)) {
+    bitsPerSample = 8;
+  }
+  ModuleRTPUtility::Payload* payload = new ModuleRTPUtility::Payload;
+  payload->name[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
+  strncpy(payload->name, payloadName, RTP_PAYLOAD_NAME_SIZE - 1);
+  payload->typeSpecific.Audio.frequency = frequency;
+  payload->typeSpecific.Audio.channels = channels;
+  payload->typeSpecific.Audio.bitsPerSample = bitsPerSample;
+  payload->typeSpecific.Audio.rate = rate;
+  payload->audio = true;
+  return payload;
 }
 
 // we are not allowed to have any critsects when calling CallbackOfReceivedPayloadData
diff --git a/src/modules/rtp_rtcp/source/rtp_receiver_audio.h b/src/modules/rtp_rtcp/source/rtp_receiver_audio.h
index e3a096a..89cd062 100644
--- a/src/modules/rtp_rtcp/source/rtp_receiver_audio.h
+++ b/src/modules/rtp_rtcp/source/rtp_receiver_audio.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -33,11 +33,12 @@
 
     WebRtc_Word32 RegisterIncomingAudioCallback(RtpAudioFeedback* incomingMessagesCallback);
 
-    ModuleRTPUtility::Payload* RegisterReceiveAudioPayload(const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
-                                                           const WebRtc_Word8 payloadType,
-                                                           const WebRtc_UWord32 frequency,
-                                                           const WebRtc_UWord8 channels,
-                                                           const WebRtc_UWord32 rate);
+    ModuleRTPUtility::Payload* RegisterReceiveAudioPayload(
+        const char payloadName[RTP_PAYLOAD_NAME_SIZE],
+        const WebRtc_Word8 payloadType,
+        const WebRtc_UWord32 frequency,
+        const WebRtc_UWord8 channels,
+        const WebRtc_UWord32 rate);
 
     WebRtc_UWord32 AudioFrequency() const;
 
diff --git a/src/modules/rtp_rtcp/source/rtp_receiver_video.cc b/src/modules/rtp_rtcp/source/rtp_receiver_video.cc
index 4bc83bb..354ee9f 100644
--- a/src/modules/rtp_rtcp/source/rtp_receiver_video.cc
+++ b/src/modules/rtp_rtcp/source/rtp_receiver_video.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -99,38 +99,33 @@
     }
 }
 
-ModuleRTPUtility::Payload*
-RTPReceiverVideo::RegisterReceiveVideoPayload(const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
-                                              const WebRtc_Word8 payloadType,
-                                              const WebRtc_UWord32 maxRate)
-{
-    RtpVideoCodecTypes videoType = kRtpNoVideo;
-    if (ModuleRTPUtility::StringCompare(payloadName, "VP8",3))
-    {
-        videoType = kRtpVp8Video;
-    } else if (ModuleRTPUtility::StringCompare(payloadName, "I420", 4))
-    {
-        videoType = kRtpNoVideo;
-    } else if (ModuleRTPUtility::StringCompare(payloadName, "ULPFEC", 6))
-    {
-        // store this
-        if(_receiveFEC == NULL)
-        {
-            _receiveFEC = new ReceiverFEC(_id, this);
-        }
-        _receiveFEC->SetPayloadTypeFEC(payloadType);
-        videoType = kRtpFecVideo;
-    } else
-    {
-        return NULL;
+ModuleRTPUtility::Payload* RTPReceiverVideo::RegisterReceiveVideoPayload(
+    const char payloadName[RTP_PAYLOAD_NAME_SIZE],
+    const WebRtc_Word8 payloadType,
+    const WebRtc_UWord32 maxRate) {
+  RtpVideoCodecTypes videoType = kRtpNoVideo;
+  if (ModuleRTPUtility::StringCompare(payloadName, "VP8", 3)) {
+    videoType = kRtpVp8Video;
+  } else if (ModuleRTPUtility::StringCompare(payloadName, "I420", 4)) {
+    videoType = kRtpNoVideo;
+  } else if (ModuleRTPUtility::StringCompare(payloadName, "ULPFEC", 6)) {
+    // store this
+    if (_receiveFEC == NULL) {
+      _receiveFEC = new ReceiverFEC(_id, this);
     }
+    _receiveFEC->SetPayloadTypeFEC(payloadType);
+    videoType = kRtpFecVideo;
+  } else {
+    return NULL;
+  }
+  ModuleRTPUtility::Payload* payload =  new ModuleRTPUtility::Payload;
 
-    ModuleRTPUtility::Payload* payload =  new ModuleRTPUtility::Payload;
-    strncpy(payload->name, payloadName, RTP_PAYLOAD_NAME_SIZE);
-    payload->typeSpecific.Video.videoCodecType = videoType;
-    payload->typeSpecific.Video.maxRate = maxRate;
-    payload->audio = false;
-    return payload;
+  payload->name[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
+  strncpy(payload->name, payloadName, RTP_PAYLOAD_NAME_SIZE - 1);
+  payload->typeSpecific.Video.videoCodecType = videoType;
+  payload->typeSpecific.Video.maxRate = maxRate;
+  payload->audio = false;
+  return payload;
 }
 
 void RTPReceiverVideo::ResetOverUseDetector()
@@ -406,56 +401,43 @@
                                          payload->typeSpecific.Video.videoCodecType);
 }
 
-WebRtc_Word32
-RTPReceiverVideo::SetCodecType(const RtpVideoCodecTypes videoType,
-                               WebRtcRTPHeader* rtpHeader) const
-{
-    switch (videoType)
-    {
+WebRtc_Word32 RTPReceiverVideo::SetCodecType(const RtpVideoCodecTypes videoType,
+                                             WebRtcRTPHeader* rtpHeader) const {
+  switch (videoType) {
     case kRtpNoVideo:
-        rtpHeader->type.Video.codec = kRTPVideoGeneric;
-        break;
+      rtpHeader->type.Video.codec = kRTPVideoGeneric;
+      break;
     case kRtpVp8Video:
-        rtpHeader->type.Video.codec = kRTPVideoVP8;
-        break;
+      rtpHeader->type.Video.codec = kRTPVideoVP8;
+      break;
     case kRtpFecVideo:
-        rtpHeader->type.Video.codec = kRTPVideoFEC;
-        break;
-    default:
-        assert(((void)"ParseCodecSpecific videoType can not be unknown here!", false));
-        return -1;
-    }
-    return 0;
+      rtpHeader->type.Video.codec = kRTPVideoFEC;
+      break;
+  }
+  return 0;
 }
 
-
-WebRtc_Word32
-RTPReceiverVideo::ParseVideoCodecSpecificSwitch(WebRtcRTPHeader* rtpHeader,
-                                                const WebRtc_UWord8* payloadData,
-                                                const WebRtc_UWord16 payloadDataLength,
-                                                const RtpVideoCodecTypes videoType)
-{
-    WebRtc_Word32 retVal = SetCodecType(videoType, rtpHeader);
-    if(retVal != 0)
-    {
-        return retVal;
-    }
-
-    // all receive functions release _criticalSectionReceiverVideo before returning
-    switch (videoType)
-    {
-    case kRtpNoVideo:
-        retVal = ReceiveGenericCodec(rtpHeader, payloadData, payloadDataLength);
-        break;
-    case kRtpVp8Video:
-        retVal = ReceiveVp8Codec(rtpHeader, payloadData, payloadDataLength);
-        break;
-    default:
-        _criticalSectionReceiverVideo->Leave();
-        assert(((void)"ParseCodecSpecific videoType can not be unknown here!", false));
-        return -1;
-    }
+WebRtc_Word32 RTPReceiverVideo::ParseVideoCodecSpecificSwitch(
+    WebRtcRTPHeader* rtpHeader,
+    const WebRtc_UWord8* payloadData,
+    const WebRtc_UWord16 payloadDataLength,
+    const RtpVideoCodecTypes videoType) {
+  WebRtc_Word32 retVal = SetCodecType(videoType, rtpHeader);
+  if (retVal != 0) {
     return retVal;
+  }
+  // All receive functions release _criticalSectionReceiverVideo before
+  // returning.
+  switch (videoType) {
+    case kRtpNoVideo:
+      return ReceiveGenericCodec(rtpHeader, payloadData, payloadDataLength);
+    case kRtpVp8Video:
+      return ReceiveVp8Codec(rtpHeader, payloadData, payloadDataLength);
+    case kRtpFecVideo:
+      break;
+  }
+  _criticalSectionReceiverVideo->Leave();
+  return -1;
 }
 
 WebRtc_Word32
diff --git a/src/modules/rtp_rtcp/source/rtp_receiver_video.h b/src/modules/rtp_rtcp/source/rtp_receiver_video.h
index bbfa8a8..feb4092 100644
--- a/src/modules/rtp_rtcp/source/rtp_receiver_video.h
+++ b/src/modules/rtp_rtcp/source/rtp_receiver_video.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -44,7 +44,7 @@
                                    const WebRtc_UWord16 roundTripTimeMs);
 
     ModuleRTPUtility::Payload* RegisterReceiveVideoPayload(
-        const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+        const char payloadName[RTP_PAYLOAD_NAME_SIZE],
         const WebRtc_Word8 payloadType,
         const WebRtc_UWord32 maxRate);
 
diff --git a/src/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/src/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
index 4fc675d..98495b5 100644
--- a/src/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
+++ b/src/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -1523,46 +1523,38 @@
     return _rtcpSender.LastSendReport(lastRTCPTime);
 }
 
-WebRtc_Word32
-ModuleRtpRtcpImpl::SetCNAME(const WebRtc_Word8 cName[RTCP_CNAME_SIZE])
-{
-    WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, _id, "SetCNAME(%s)", cName);
-
-    return _rtcpSender.SetCNAME(cName);
+WebRtc_Word32 ModuleRtpRtcpImpl::SetCNAME(const char cName[RTCP_CNAME_SIZE]) {
+  WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, _id, "SetCNAME(%s)", cName);
+  return _rtcpSender.SetCNAME(cName);
 }
 
-WebRtc_Word32
-ModuleRtpRtcpImpl::CNAME(WebRtc_Word8 cName[RTCP_CNAME_SIZE])
-{
+WebRtc_Word32 ModuleRtpRtcpImpl::CNAME(char cName[RTCP_CNAME_SIZE]) {
     WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, _id, "CNAME()");
-
     return _rtcpSender.CNAME(cName);
 }
 
-WebRtc_Word32
-ModuleRtpRtcpImpl::AddMixedCNAME(const WebRtc_UWord32 SSRC,
-                                 const WebRtc_Word8 cName[RTCP_CNAME_SIZE])
-{
-    WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, _id, "AddMixedCNAME(SSRC:%u)", SSRC);
+WebRtc_Word32 ModuleRtpRtcpImpl::AddMixedCNAME(
+    const WebRtc_UWord32 SSRC,
+    const char cName[RTCP_CNAME_SIZE]) {
+  WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, _id,
+               "AddMixedCNAME(SSRC:%u)", SSRC);
 
-    return _rtcpSender.AddMixedCNAME(SSRC, cName);
+  return _rtcpSender.AddMixedCNAME(SSRC, cName);
 }
 
-WebRtc_Word32
-ModuleRtpRtcpImpl::RemoveMixedCNAME(const WebRtc_UWord32 SSRC)
-{
-    WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, _id, "RemoveMixedCNAME(SSRC:%u)", SSRC);
-
+WebRtc_Word32 ModuleRtpRtcpImpl::RemoveMixedCNAME(const WebRtc_UWord32 SSRC) {
+    WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, _id,
+                 "RemoveMixedCNAME(SSRC:%u)", SSRC);
     return _rtcpSender.RemoveMixedCNAME(SSRC);
 }
 
-WebRtc_Word32
-ModuleRtpRtcpImpl::RemoteCNAME(const WebRtc_UWord32 remoteSSRC,
-                               WebRtc_Word8 cName[RTCP_CNAME_SIZE]) const
-{
-    WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, _id, "RemoteCNAME(SSRC:%u)", remoteSSRC);
+WebRtc_Word32 ModuleRtpRtcpImpl::RemoteCNAME(
+    const WebRtc_UWord32 remoteSSRC,
+    char cName[RTCP_CNAME_SIZE]) const {
+  WEBRTC_TRACE(kTraceModuleCall, kTraceRtpRtcp, _id,
+               "RemoteCNAME(SSRC:%u)", remoteSSRC);
 
-    return _rtcpReceiver.CNAME(remoteSSRC, cName);
+  return _rtcpReceiver.CNAME(remoteSSRC, cName);
 }
 
 WebRtc_UWord16 ModuleRtpRtcpImpl::RemoteSequenceNumber() const
diff --git a/src/modules/rtp_rtcp/source/rtp_rtcp_impl.h b/src/modules/rtp_rtcp/source/rtp_rtcp_impl.h
index d5f6948..b39e9fd 100644
--- a/src/modules/rtp_rtcp/source/rtp_rtcp_impl.h
+++ b/src/modules/rtp_rtcp/source/rtp_rtcp_impl.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -162,13 +162,6 @@
 
     virtual WebRtc_Word32 RegisterSendPayload(const VideoCodec& videoCodec);
 
-    // set codec name and payload type
-    WebRtc_Word32 RegisterSendPayload(const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
-                                            const WebRtc_Word8 payloadType,
-                                            const WebRtc_UWord32 frequency,
-                                            const WebRtc_UWord8 channels,
-                                            const WebRtc_UWord32 rate);
-
     virtual WebRtc_Word32 DeRegisterSendPayload(const WebRtc_Word8 payloadType);
 
     virtual WebRtc_Word8 SendPayloadType() const;
@@ -255,14 +248,14 @@
     virtual WebRtc_Word32 SetRTCPStatus(const RTCPMethod method);
 
     // Set RTCP CName
-    virtual WebRtc_Word32 SetCNAME(const WebRtc_Word8 cName[RTCP_CNAME_SIZE]);
+    virtual WebRtc_Word32 SetCNAME(const char cName[RTCP_CNAME_SIZE]);
 
     // Get RTCP CName
-    virtual WebRtc_Word32 CNAME(WebRtc_Word8 cName[RTCP_CNAME_SIZE]);
+    virtual WebRtc_Word32 CNAME(char cName[RTCP_CNAME_SIZE]);
 
     // Get remote CName
     virtual WebRtc_Word32 RemoteCNAME(const WebRtc_UWord32 remoteSSRC,
-                                    WebRtc_Word8 cName[RTCP_CNAME_SIZE]) const;
+                                      char cName[RTCP_CNAME_SIZE]) const;
 
     // Get remote NTP
     virtual WebRtc_Word32 RemoteNTP(WebRtc_UWord32 *ReceivedNTPsecs,
@@ -271,7 +264,7 @@
                                   WebRtc_UWord32 *RTCPArrivalTimeFrac) const ;
 
     virtual WebRtc_Word32 AddMixedCNAME(const WebRtc_UWord32 SSRC,
-                                      const WebRtc_Word8 cName[RTCP_CNAME_SIZE]);
+                                        const char cName[RTCP_CNAME_SIZE]);
 
     virtual WebRtc_Word32 RemoveMixedCNAME(const WebRtc_UWord32 SSRC);
 
diff --git a/src/modules/rtp_rtcp/source/rtp_sender.cc b/src/modules/rtp_rtcp/source/rtp_sender.cc
index f9e3ec1..374ce53 100644
--- a/src/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/src/modules/rtp_rtcp/source/rtp_sender.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -272,16 +272,12 @@
 
 //can be called multiple times
 WebRtc_Word32 RTPSender::RegisterPayload(
-    const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+    const char payloadName[RTP_PAYLOAD_NAME_SIZE],
     const WebRtc_Word8 payloadNumber,
     const WebRtc_UWord32 frequency,
     const WebRtc_UWord8 channels,
     const WebRtc_UWord32 rate) {
-  if (!payloadName) {
-    WEBRTC_TRACE(kTraceError, kTraceRtpRtcp, _id, "%s invalid argument",
-                 __FUNCTION__);
-    return -1;
-  }
+  assert(payloadName);
   CriticalSectionScoped cs(_sendCritsect);
 
   if (payloadNumber == _keepAlivePayloadType) {
@@ -298,11 +294,8 @@
     assert(payload);
 
     // check if it's the same as we already have
-    WebRtc_Word32 payloadNameLength = (WebRtc_Word32)strlen(payloadName);
-    WebRtc_Word32 nameLength = (WebRtc_Word32)strlen(payload->name);
-    if (payloadNameLength == nameLength &&
-        ModuleRTPUtility::StringCompare(payload->name, payloadName,
-                                        nameLength)) {
+    if (ModuleRTPUtility::StringCompare(payload->name, payloadName,
+                                        RTP_PAYLOAD_NAME_SIZE - 1)) {
       if (_audioConfigured && payload->audio &&
           payload->typeSpecific.Audio.frequency == frequency &&
           (payload->typeSpecific.Audio.rate == rate ||
diff --git a/src/modules/rtp_rtcp/source/rtp_sender.h b/src/modules/rtp_rtcp/source/rtp_sender.h
index 6e1e762..00012e1 100644
--- a/src/modules/rtp_rtcp/source/rtp_sender.h
+++ b/src/modules/rtp_rtcp/source/rtp_sender.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -90,7 +90,7 @@
     WebRtc_Word32 RegisterSendTransport(Transport* outgoingTransport);
 
     WebRtc_Word32 RegisterPayload(
-        const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
+        const char payloadName[RTP_PAYLOAD_NAME_SIZE],
         const WebRtc_Word8 payloadType,
         const WebRtc_UWord32 frequency,
         const WebRtc_UWord8 channels,
diff --git a/src/modules/rtp_rtcp/source/rtp_sender_audio.cc b/src/modules/rtp_rtcp/source/rtp_sender_audio.cc
index 7d83eb6..ee3c414 100644
--- a/src/modules/rtp_rtcp/source/rtp_sender_audio.cc
+++ b/src/modules/rtp_rtcp/source/rtp_sender_audio.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -106,56 +106,44 @@
     return 0;
 }
 
-WebRtc_Word32
-RTPSenderAudio::RegisterAudioPayload(const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
-                                     const WebRtc_Word8 payloadType,
-                                     const WebRtc_UWord32 frequency,
-                                     const WebRtc_UWord8 channels,
-                                     const WebRtc_UWord32 rate,
-                                     ModuleRTPUtility::Payload*& payload)
-{
-    WebRtc_Word32 length = (WebRtc_Word32)strlen(payloadName);
-    if(length > RTP_PAYLOAD_NAME_SIZE)
-    {
-        return -1;
+WebRtc_Word32 RTPSenderAudio::RegisterAudioPayload(
+    const char payloadName[RTP_PAYLOAD_NAME_SIZE],
+    const WebRtc_Word8 payloadType,
+    const WebRtc_UWord32 frequency,
+    const WebRtc_UWord8 channels,
+    const WebRtc_UWord32 rate,
+    ModuleRTPUtility::Payload*& payload) {
+  CriticalSectionScoped cs(_sendAudioCritsect);
+
+  if (ModuleRTPUtility::StringCompare(payloadName, "cn", 2))  {
+    //  we can have multiple CNG payload types
+    if (frequency == 8000) {
+      _cngNBPayloadType = payloadType;
+
+    } else if (frequency == 16000) {
+      _cngWBPayloadType = payloadType;
+
+    } else if (frequency == 32000) {
+      _cngSWBPayloadType = payloadType;
+    } else {
+      return -1;
     }
-
-    CriticalSectionScoped cs(_sendAudioCritsect);
-
-    if (ModuleRTPUtility::StringCompare(payloadName,"cn",2))
-    {
-        //  we can have multiple CNG payload types
-        if(frequency == 8000)
-        {
-            _cngNBPayloadType = payloadType;
-
-        } else if(frequency == 16000)
-        {
-            _cngWBPayloadType = payloadType;
-
-        } else if(frequency == 32000)
-        {
-            _cngSWBPayloadType = payloadType;
-        }else
-        {
-            return -1;
-        }
-    }
-    if (ModuleRTPUtility::StringCompare(payloadName,"telephone-event",15))
-    {
-        // Don't add it to the list
-        // we dont want to allow send with a DTMF payloadtype
-        _dtmfPayloadType = payloadType;
-        return 0;
-        // The default timestamp rate is 8000 Hz, but other rates may be defined.
-    }
-    payload = new ModuleRTPUtility::Payload;
-    payload->typeSpecific.Audio.frequency = frequency;
-    payload->typeSpecific.Audio.channels = channels;
-    payload->typeSpecific.Audio.rate = rate;
-    payload->audio = true;
-    memcpy(payload->name, payloadName, length+1);
+  }
+  if (ModuleRTPUtility::StringCompare(payloadName, "telephone-event", 15)) {
+    // Don't add it to the list
+    // we dont want to allow send with a DTMF payloadtype
+    _dtmfPayloadType = payloadType;
     return 0;
+    // The default timestamp rate is 8000 Hz, but other rates may be defined.
+  }
+  payload = new ModuleRTPUtility::Payload;
+  payload->typeSpecific.Audio.frequency = frequency;
+  payload->typeSpecific.Audio.channels = channels;
+  payload->typeSpecific.Audio.rate = rate;
+  payload->audio = true;
+  payload->name[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
+  strncpy(payload->name, payloadName, RTP_PAYLOAD_NAME_SIZE - 1);
+  return 0;
 }
 
 bool
diff --git a/src/modules/rtp_rtcp/source/rtp_sender_audio.h b/src/modules/rtp_rtcp/source/rtp_sender_audio.h
index 905458f..5fda2ef 100644
--- a/src/modules/rtp_rtcp/source/rtp_sender_audio.h
+++ b/src/modules/rtp_rtcp/source/rtp_sender_audio.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -32,19 +32,20 @@
 
     WebRtc_Word32 Init();
 
-    WebRtc_Word32 RegisterAudioPayload(const WebRtc_Word8 payloadName[RTP_PAYLOAD_NAME_SIZE],
-                                     const WebRtc_Word8 payloadType,
-                                     const WebRtc_UWord32 frequency,
-                                     const WebRtc_UWord8 channels,
-                                     const WebRtc_UWord32 rate,
-                                     ModuleRTPUtility::Payload*& payload);
+    WebRtc_Word32 RegisterAudioPayload(
+        const char payloadName[RTP_PAYLOAD_NAME_SIZE],
+        const WebRtc_Word8 payloadType,
+        const WebRtc_UWord32 frequency,
+        const WebRtc_UWord8 channels,
+        const WebRtc_UWord32 rate,
+        ModuleRTPUtility::Payload*& payload);
 
     WebRtc_Word32 SendAudio(const FrameType frameType,
-                          const WebRtc_Word8 payloadType,
-                          const WebRtc_UWord32 captureTimeStamp,
-                          const WebRtc_UWord8* payloadData,
-                          const WebRtc_UWord32 payloadSize,
-                          const RTPFragmentationHeader* fragmentation);
+                            const WebRtc_Word8 payloadType,
+                            const WebRtc_UWord32 captureTimeStamp,
+                            const WebRtc_UWord8* payloadData,
+                            const WebRtc_UWord32 payloadSize,
+                            const RTPFragmentationHeader* fragmentation);
 
     // set audio packet size, used to determine when it's time to send a DTMF packet in silence (CNG)
     WebRtc_Word32 SetAudioPacketSize(const WebRtc_UWord16 packetSizeSamples);
diff --git a/src/modules/rtp_rtcp/source/rtp_sender_video.cc b/src/modules/rtp_rtcp/source/rtp_sender_video.cc
index dc33e4b..79e55d7 100644
--- a/src/modules/rtp_rtcp/source/rtp_sender_video.cc
+++ b/src/modules/rtp_rtcp/source/rtp_sender_video.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -113,12 +113,11 @@
   } else if (ModuleRTPUtility::StringCompare(payloadName, "I420", 4)) {
     videoType = kRtpNoVideo;
   } else {
-    videoType = kRtpNoVideo;
     return -1;
   }
   payload = new ModuleRTPUtility::Payload;
+  payload->name[RTP_PAYLOAD_NAME_SIZE - 1] = 0;
   strncpy(payload->name, payloadName, RTP_PAYLOAD_NAME_SIZE - 1);
-  payload->name[RTP_PAYLOAD_NAME_SIZE - 1] = 0; // Null terminate string.
   payload->typeSpecific.Video.videoCodecType = videoType;
   payload->typeSpecific.Video.maxRate = maxBitRate;
   payload->audio = false;
diff --git a/src/modules/rtp_rtcp/source/rtp_utility.cc b/src/modules/rtp_rtcp/source/rtp_utility.cc
index 228de49..bddcdbd 100644
--- a/src/modules/rtp_rtcp/source/rtp_utility.cc
+++ b/src/modules/rtp_rtcp/source/rtp_utility.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -322,15 +322,15 @@
  */
 
 #if defined(_WIN32)
-bool ModuleRTPUtility::StringCompare(const WebRtc_Word8* str1,
-                                     const WebRtc_Word8* str2,
+bool ModuleRTPUtility::StringCompare(const char* str1,
+                                     const char* str2,
                                      const WebRtc_UWord32 length)
 {
     return (_strnicmp(str1, str2, length) == 0)?true: false;
 }
 #elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC)
-bool ModuleRTPUtility::StringCompare(const WebRtc_Word8* str1,
-                                     const WebRtc_Word8* str2,
+bool ModuleRTPUtility::StringCompare(const char* str1,
+                                     const char* str2,
                                      const WebRtc_UWord32 length)
 {
     return (strncasecmp(str1, str2, length) == 0)?true: false;
diff --git a/src/modules/rtp_rtcp/source/rtp_utility.h b/src/modules/rtp_rtcp/source/rtp_utility.h
index a0eee1d..8901223 100644
--- a/src/modules/rtp_rtcp/source/rtp_utility.h
+++ b/src/modules/rtp_rtcp/source/rtp_utility.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -55,8 +55,8 @@
     };
     struct Payload
     {
-        WebRtc_Word8 name[RTP_PAYLOAD_NAME_SIZE];
-        bool         audio;
+        char name[RTP_PAYLOAD_NAME_SIZE];
+        bool audio;
         PayloadUnion typeSpecific;
     };
 
@@ -89,8 +89,8 @@
                       uint32_t existingTimestamp,
                       bool* wrapped);
 
-    bool StringCompare(const WebRtc_Word8* str1,
-                       const WebRtc_Word8* str2,
+    bool StringCompare(const char* str1,
+                       const char* str2,
                        const WebRtc_UWord32 length);
 
     void AssignUWord32ToBuffer(WebRtc_UWord8* dataBuffer, WebRtc_UWord32 value);
diff --git a/src/system_wrappers/interface/trace.h b/src/system_wrappers/interface/trace.h
index 8330f7c..0333e76 100644
--- a/src/system_wrappers/interface/trace.h
+++ b/src/system_wrappers/interface/trace.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -45,11 +45,11 @@
     // Sets the file name. If addFileCounter is false the same file will be
     // reused when it fills up. If it's true a new file with incremented name
     // will be used.
-    static WebRtc_Word32 SetTraceFile(const WebRtc_Word8* fileName,
+    static WebRtc_Word32 SetTraceFile(const char* fileName,
                                       const bool addFileCounter = false);
 
     // Returns the name of the file that the trace is currently writing to.
-    static WebRtc_Word32 TraceFile(WebRtc_Word8 fileName[1024]);
+    static WebRtc_Word32 TraceFile(char fileName[1024]);
 
     // Registers callback to receive trace messages. TODO (hellner)
     // why not use OutStream instead? Why is TraceCallback not defined in this
diff --git a/src/system_wrappers/source/trace_impl.cc b/src/system_wrappers/source/trace_impl.cc
index adf6fcf..b5094c1 100644
--- a/src/system_wrappers/source/trace_impl.cc
+++ b/src/system_wrappers/source/trace_impl.cc
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -94,7 +94,7 @@
         for(int n = 0; n < WEBRTC_TRACE_MAX_QUEUE; n++)
         {
             _messageQueue[m][n] = new
-                WebRtc_Word8[WEBRTC_TRACE_MAX_MESSAGE_SIZE];
+                char[WEBRTC_TRACE_MAX_MESSAGE_SIZE];
         }
     }
 }
@@ -350,7 +350,7 @@
     return 25;
 }
 
-WebRtc_Word32 TraceImpl::SetTraceFileImpl(const WebRtc_Word8* fileNameUTF8,
+WebRtc_Word32 TraceImpl::SetTraceFileImpl(const char* fileNameUTF8,
                                           const bool addFileCounter)
 {
     CriticalSectionScoped lock(_critsectInterface);
@@ -364,7 +364,7 @@
         {
             _fileCountText = 1;
 
-            WebRtc_Word8 fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize];
+            char fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize];
             CreateFileName(fileNameUTF8, fileNameWithCounterUTF8,
                            _fileCountText);
             if(_traceFile.OpenFile(fileNameWithCounterUTF8, false, false,
@@ -385,7 +385,7 @@
 }
 
 WebRtc_Word32 TraceImpl::TraceFileImpl(
-    WebRtc_Word8 fileNameUTF8[FileWrapper::kMaxFileNameSize])
+    char fileNameUTF8[FileWrapper::kMaxFileNameSize])
 {
     CriticalSectionScoped lock(_critsectInterface);
     return _traceFile.FileName(fileNameUTF8, FileWrapper::kMaxFileNameSize);
@@ -556,8 +556,8 @@
                     _traceFile.Rewind();
                 } else
                 {
-                    WebRtc_Word8 oldFileName[FileWrapper::kMaxFileNameSize];
-                    WebRtc_Word8 newFileName[FileWrapper::kMaxFileNameSize];
+                    char oldFileName[FileWrapper::kMaxFileNameSize];
+                    char newFileName[FileWrapper::kMaxFileNameSize];
 
                     // get current name
                     _traceFile.FileName(oldFileName,
@@ -577,7 +577,7 @@
             }
             if(_rowCountText ==  0)
             {
-                WebRtc_Word8 message[WEBRTC_TRACE_MAX_MESSAGE_SIZE + 1];
+                char message[WEBRTC_TRACE_MAX_MESSAGE_SIZE + 1];
                 WebRtc_Word32 length = AddDateTimeInfo(message);
                 if(length != -1)
                 {
@@ -669,8 +669,8 @@
 }
 
 bool TraceImpl::UpdateFileName(
-    const WebRtc_Word8 fileNameUTF8[FileWrapper::kMaxFileNameSize],
-    WebRtc_Word8 fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize],
+    const char fileNameUTF8[FileWrapper::kMaxFileNameSize],
+    char fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize],
     const WebRtc_UWord32 newCount) const
 {
     WebRtc_Word32 length = (WebRtc_Word32)strlen(fileNameUTF8);
@@ -712,8 +712,8 @@
 }
 
 bool TraceImpl::CreateFileName(
-    const WebRtc_Word8 fileNameUTF8[FileWrapper::kMaxFileNameSize],
-    WebRtc_Word8 fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize],
+    const char fileNameUTF8[FileWrapper::kMaxFileNameSize],
+    char fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize],
     const WebRtc_UWord32 newCount) const
 {
     WebRtc_Word32 length = (WebRtc_Word32)strlen(fileNameUTF8);
@@ -766,7 +766,7 @@
     return 0;
 }
 
-WebRtc_Word32 Trace::TraceFile(WebRtc_Word8 fileName[FileWrapper::kMaxFileNameSize])
+WebRtc_Word32 Trace::TraceFile(char fileName[FileWrapper::kMaxFileNameSize])
 {
     TraceImpl* trace = TraceImpl::GetTrace();
     if(trace)
@@ -778,7 +778,7 @@
     return -1;
 }
 
-WebRtc_Word32 Trace::SetTraceFile(const WebRtc_Word8* fileName,
+WebRtc_Word32 Trace::SetTraceFile(const char* fileName,
                                   const bool addFileCounter)
 {
     TraceImpl* trace = TraceImpl::GetTrace();
diff --git a/src/system_wrappers/source/trace_impl.h b/src/system_wrappers/source/trace_impl.h
index 7e99048..2b85813 100644
--- a/src/system_wrappers/source/trace_impl.h
+++ b/src/system_wrappers/source/trace_impl.h
@@ -1,5 +1,5 @@
 /*
- *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
+ *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
  *
  *  Use of this source code is governed by a BSD-style license
  *  that can be found in the LICENSE file in the root of the source
@@ -49,10 +49,10 @@
     static TraceImpl* CreateInstance();
     static TraceImpl* GetTrace(const TraceLevel level = kTraceAll);
 
-    WebRtc_Word32 SetTraceFileImpl(const WebRtc_Word8* fileName,
+    WebRtc_Word32 SetTraceFileImpl(const char* fileName,
                                    const bool addFileCounter);
     WebRtc_Word32 TraceFileImpl(
-        WebRtc_Word8 fileName[FileWrapper::kMaxFileNameSize]);
+        char fileName[FileWrapper::kMaxFileNameSize]);
 
     WebRtc_Word32 SetTraceCallbackImpl(TraceCallback* callback);
 
@@ -99,13 +99,13 @@
         const TraceLevel level);
 
     bool UpdateFileName(
-        const WebRtc_Word8 fileNameUTF8[FileWrapper::kMaxFileNameSize],
-        WebRtc_Word8 fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize],
+        const char fileNameUTF8[FileWrapper::kMaxFileNameSize],
+        char fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize],
         const WebRtc_UWord32 newCount) const;
 
     bool CreateFileName(
-        const WebRtc_Word8 fileNameUTF8[FileWrapper::kMaxFileNameSize],
-        WebRtc_Word8 fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize],
+        const char fileNameUTF8[FileWrapper::kMaxFileNameSize],
+        char fileNameWithCounterUTF8[FileWrapper::kMaxFileNameSize],
         const WebRtc_UWord32 newCount) const;
 
     void WriteToFile();
@@ -124,7 +124,7 @@
     WebRtc_UWord16 _nextFreeIdx[WEBRTC_TRACE_NUM_ARRAY];
     TraceLevel _level[WEBRTC_TRACE_NUM_ARRAY][WEBRTC_TRACE_MAX_QUEUE];
     WebRtc_UWord16 _length[WEBRTC_TRACE_NUM_ARRAY][WEBRTC_TRACE_MAX_QUEUE];
-    WebRtc_Word8* _messageQueue[WEBRTC_TRACE_NUM_ARRAY][WEBRTC_TRACE_MAX_QUEUE];
+    char* _messageQueue[WEBRTC_TRACE_NUM_ARRAY][WEBRTC_TRACE_MAX_QUEUE];
     WebRtc_UWord8 _activeQueue;
 };
 } // namespace webrtc