| Index: webrtc/modules/audio_coding/neteq/test/RTPencode.cc | 
| diff --git a/webrtc/modules/audio_coding/neteq/test/RTPencode.cc b/webrtc/modules/audio_coding/neteq/test/RTPencode.cc | 
| index 7e778b86e0dd0917c5d37e963a8863971bbb5364..b2df07aa4e97751207a640dfb72d99fa900201ca 100644 | 
| --- a/webrtc/modules/audio_coding/neteq/test/RTPencode.cc | 
| +++ b/webrtc/modules/audio_coding/neteq/test/RTPencode.cc | 
| @@ -23,6 +23,8 @@ | 
|  | 
| #include <assert.h> | 
|  | 
| +#include <algorithm> | 
| + | 
| #include "webrtc/typedefs.h" | 
| // needed for NetEqDecoder | 
| #include "webrtc/modules/audio_coding/neteq/audio_decoder_impl.h" | 
| @@ -76,27 +78,27 @@ | 
| void NetEQTest_GetCodec_and_PT(char* name, | 
| webrtc::NetEqDecoder* codec, | 
| int* PT, | 
| -                               int frameLen, | 
| +                               size_t frameLen, | 
| int* fs, | 
| int* bitrate, | 
| int* useRed); | 
| int NetEQTest_init_coders(webrtc::NetEqDecoder coder, | 
| -                          int enc_frameSize, | 
| +                          size_t enc_frameSize, | 
| int bitrate, | 
| int sampfreq, | 
| int vad, | 
| -                          int numChannels); | 
| +                          size_t numChannels); | 
| void defineCodecs(webrtc::NetEqDecoder* usedCodec, int* noOfCodecs); | 
| -int NetEQTest_free_coders(webrtc::NetEqDecoder coder, int numChannels); | 
| -int NetEQTest_encode(int coder, | 
| -                     int16_t* indata, | 
| -                     int frameLen, | 
| -                     unsigned char* encoded, | 
| -                     int sampleRate, | 
| -                     int* vad, | 
| -                     int useVAD, | 
| -                     int bitrate, | 
| -                     int numChannels); | 
| +int NetEQTest_free_coders(webrtc::NetEqDecoder coder, size_t numChannels); | 
| +size_t NetEQTest_encode(int coder, | 
| +                        int16_t* indata, | 
| +                        size_t frameLen, | 
| +                        unsigned char* encoded, | 
| +                        int sampleRate, | 
| +                        int* vad, | 
| +                        int useVAD, | 
| +                        int bitrate, | 
| +                        size_t numChannels); | 
| void makeRTPheader(unsigned char* rtp_data, | 
| int payloadType, | 
| int seqNo, | 
| @@ -109,13 +111,13 @@ int makeRedundantHeader(unsigned char* rtp_data, | 
| uint16_t* blockLen, | 
| int seqNo, | 
| uint32_t ssrc); | 
| -int makeDTMFpayload(unsigned char* payload_data, | 
| -                    int Event, | 
| -                    int End, | 
| -                    int Volume, | 
| -                    int Duration); | 
| -void stereoDeInterleave(int16_t* audioSamples, int numSamples); | 
| -void stereoInterleave(unsigned char* data, int dataLen, int stride); | 
| +size_t makeDTMFpayload(unsigned char* payload_data, | 
| +                       int Event, | 
| +                       int End, | 
| +                       int Volume, | 
| +                       int Duration); | 
| +void stereoDeInterleave(int16_t* audioSamples, size_t numSamples); | 
| +void stereoInterleave(unsigned char* data, size_t dataLen, size_t stride); | 
|  | 
| /*********************/ | 
| /* Codec definitions */ | 
| @@ -264,13 +266,14 @@ SPEEX_encinst_t* SPEEX16enc_inst[2]; | 
| #endif | 
|  | 
| int main(int argc, char* argv[]) { | 
| -  int packet_size, fs; | 
| +  size_t packet_size; | 
| +  int fs; | 
| webrtc::NetEqDecoder usedCodec; | 
| int payloadType; | 
| int bitrate = 0; | 
| int useVAD, vad; | 
| int useRed = 0; | 
| -  int len, enc_len; | 
| +  size_t len, enc_len; | 
| int16_t org_data[4000]; | 
| unsigned char rtp_data[8000]; | 
| int16_t seqNo = 0xFFF; | 
| @@ -282,14 +285,14 @@ int main(int argc, char* argv[]) { | 
| int red_PT[2] = {0}; | 
| uint32_t red_TS[2] = {0}; | 
| uint16_t red_len[2] = {0}; | 
| -  int RTPheaderLen = 12; | 
| +  size_t RTPheaderLen = 12; | 
| uint8_t red_data[8000]; | 
| #ifdef INSERT_OLD_PACKETS | 
| uint16_t old_length, old_plen; | 
| -  int old_enc_len; | 
| +  size_t old_enc_len; | 
| int first_old_packet = 1; | 
| unsigned char old_rtp_data[8000]; | 
| -  int packet_age = 0; | 
| +  size_t packet_age = 0; | 
| #endif | 
| #ifdef INSERT_DTMF_PACKETS | 
| int NTone = 1; | 
| @@ -298,8 +301,8 @@ int main(int argc, char* argv[]) { | 
| bool dtmfSent = false; | 
| #endif | 
| bool usingStereo = false; | 
| -  int stereoMode = 0; | 
| -  int numChannels = 1; | 
| +  size_t stereoMode = 0; | 
| +  size_t numChannels = 1; | 
|  | 
| /* check number of parameters */ | 
| if ((argc != 6) && (argc != 7)) { | 
| @@ -449,12 +452,13 @@ int main(int argc, char* argv[]) { | 
| FILE* out_file = fopen(argv[2], "wb"); | 
| CHECK_NOT_NULL(out_file); | 
| printf("Output file: %s\n\n", argv[2]); | 
| -  packet_size = atoi(argv[3]); | 
| -  if (packet_size <= 0) { | 
| -     printf("Packet size %d must be positive", packet_size); | 
| +  int packet_size_int = atoi(argv[3]); | 
| +  if (packet_size_int <= 0) { | 
| +     printf("Packet size %d must be positive", packet_size_int); | 
| return -1; | 
| } | 
| -  printf("Packet size: %d\n", packet_size); | 
| +  printf("Packet size: %d\n", packet_size_int); | 
| +  packet_size = static_cast<size_t>(packet_size_int); | 
|  | 
| // check for stereo | 
| if (argv[4][strlen(argv[4]) - 1] == '*') { | 
| @@ -653,10 +657,6 @@ int main(int argc, char* argv[]) { | 
| enc_len = | 
| NetEQTest_encode(usedCodec, org_data, packet_size, &rtp_data[12], fs, | 
| &vad, useVAD, bitrate, numChannels); | 
| -      if (enc_len == -1) { | 
| -        printf("Error encoding frame\n"); | 
| -        exit(0); | 
| -      } | 
|  | 
| if (usingStereo && stereoMode != STEREO_MODE_FRAME && vad == 1) { | 
| // interleave the encoded payload for sample-based codecs (not for CNG) | 
| @@ -729,12 +729,12 @@ int main(int argc, char* argv[]) { | 
| return -1; | 
| } | 
| #ifdef RANDOM_DATA | 
| -        for (int k = 0; k < 12 + enc_len; k++) { | 
| +        for (size_t k = 0; k < 12 + enc_len; k++) { | 
| rtp_data[k] = rand() + rand(); | 
| } | 
| #endif | 
| #ifdef RANDOM_PAYLOAD_DATA | 
| -        for (int k = 12; k < 12 + enc_len; k++) { | 
| +        for (size_t k = 12; k < 12 + enc_len; k++) { | 
| rtp_data[k] = rand() + rand(); | 
| } | 
| #endif | 
| @@ -822,7 +822,7 @@ int main(int argc, char* argv[]) { | 
| void NetEQTest_GetCodec_and_PT(char* name, | 
| webrtc::NetEqDecoder* codec, | 
| int* PT, | 
| -                               int frameLen, | 
| +                               size_t frameLen, | 
| int* fs, | 
| int* bitrate, | 
| int* useRed) { | 
| @@ -887,14 +887,14 @@ void NetEQTest_GetCodec_and_PT(char* name, | 
| } | 
|  | 
| int NetEQTest_init_coders(webrtc::NetEqDecoder coder, | 
| -                          int enc_frameSize, | 
| +                          size_t enc_frameSize, | 
| int bitrate, | 
| int sampfreq, | 
| int vad, | 
| -                          int numChannels) { | 
| +                          size_t numChannels) { | 
| int ok = 0; | 
|  | 
| -  for (int k = 0; k < numChannels; k++) { | 
| +  for (size_t k = 0; k < numChannels; k++) { | 
| VAD_inst[k] = WebRtcVad_Create(); | 
| if (!VAD_inst[k]) { | 
| printf("Error: Couldn't allocate memory for VAD instance\n"); | 
| @@ -962,7 +962,7 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder, | 
| WebRtcG729_EncoderInit(G729enc_inst[k], vad); | 
| if ((vad == 1) && (enc_frameSize != 80)) { | 
| printf("\nError - This simulation only supports VAD for G729 at " | 
| -                   "10ms packets (not %dms)\n", (enc_frameSize >> 3)); | 
| +                   "10ms packets (not %" PRIuS "ms)\n", (enc_frameSize >> 3)); | 
| } | 
| } else { | 
| printf("\nError - g729 is only developed for 8kHz \n"); | 
| @@ -1018,7 +1018,7 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder, | 
| } | 
| if ((vad == 1) && (enc_frameSize != 160)) { | 
| printf("\nError - This simulation only supports VAD for Speex at " | 
| -                   "20ms packets (not %dms)\n", | 
| +                   "20ms packets (not %" PRIuS "ms)\n", | 
| (enc_frameSize >> 3)); | 
| vad = 0; | 
| } | 
| @@ -1049,7 +1049,7 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder, | 
| } | 
| if ((vad == 1) && (enc_frameSize != 320)) { | 
| printf("\nError - This simulation only supports VAD for Speex at " | 
| -                   "20ms packets (not %dms)\n", | 
| +                   "20ms packets (not %" PRIuS "ms)\n", | 
| (enc_frameSize >> 4)); | 
| vad = 0; | 
| } | 
| @@ -1238,8 +1238,7 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder, | 
| "instance\n"); | 
| exit(0); | 
| } | 
| -          if (((enc_frameSize / 320) < 0) || ((enc_frameSize / 320) > 3) || | 
| -              ((enc_frameSize % 320) != 0)) { | 
| +          if (((enc_frameSize / 320) > 3) || ((enc_frameSize % 320) != 0)) { | 
| printf("\nError - AMRwb must have frameSize of 20, 40 or 60ms\n"); | 
| exit(0); | 
| } | 
| @@ -1320,7 +1319,8 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder, | 
| bitrate); | 
| exit(0); | 
| } | 
| -          WebRtcIsac_Control(ISAC_inst[k], bitrate, enc_frameSize >> 4); | 
| +          WebRtcIsac_Control(ISAC_inst[k], bitrate, | 
| +                             static_cast<int>(enc_frameSize >> 4)); | 
| } else { | 
| printf("\nError - iSAC only supports 480 or 960 enc_frameSize (30 or " | 
| "60 ms)\n"); | 
| @@ -1379,7 +1379,8 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder, | 
| "56000 bps (not %i)\n", bitrate); | 
| exit(0); | 
| } | 
| -          WebRtcIsac_Control(ISACSWB_inst[k], bitrate, enc_frameSize >> 5); | 
| +          WebRtcIsac_Control(ISACSWB_inst[k], bitrate, | 
| +                             static_cast<int>(enc_frameSize >> 5)); | 
| } else { | 
| printf("\nError - iSAC SWB only supports 960 enc_frameSize (30 " | 
| "ms)\n"); | 
| @@ -1424,8 +1425,8 @@ int NetEQTest_init_coders(webrtc::NetEqDecoder coder, | 
| return (0); | 
| } | 
|  | 
| -int NetEQTest_free_coders(webrtc::NetEqDecoder coder, int numChannels) { | 
| -  for (int k = 0; k < numChannels; k++) { | 
| +int NetEQTest_free_coders(webrtc::NetEqDecoder coder, size_t numChannels) { | 
| +  for (size_t k = 0; k < numChannels; k++) { | 
| WebRtcVad_Free(VAD_inst[k]); | 
| #if (defined(CODEC_CNGCODEC8) || defined(CODEC_CNGCODEC16) || \ | 
| defined(CODEC_CNGCODEC32) || defined(CODEC_CNGCODEC48)) | 
| @@ -1552,35 +1553,34 @@ int NetEQTest_free_coders(webrtc::NetEqDecoder coder, int numChannels) { | 
| return (0); | 
| } | 
|  | 
| -int NetEQTest_encode(int coder, | 
| -                     int16_t* indata, | 
| -                     int frameLen, | 
| -                     unsigned char* encoded, | 
| -                     int sampleRate, | 
| -                     int* vad, | 
| -                     int useVAD, | 
| -                     int bitrate, | 
| -                     int numChannels) { | 
| -  int cdlen = 0; | 
| +size_t NetEQTest_encode(int coder, | 
| +                        int16_t* indata, | 
| +                        size_t frameLen, | 
| +                        unsigned char* encoded, | 
| +                        int sampleRate, | 
| +                        int* vad, | 
| +                        int useVAD, | 
| +                        int bitrate, | 
| +                        size_t numChannels) { | 
| +  size_t cdlen = 0; | 
| int16_t* tempdata; | 
| static int first_cng = 1; | 
| -  int16_t tempLen; | 
| - | 
| +  size_t tempLen; | 
| *vad = 1; | 
|  | 
| // check VAD first | 
| if (useVAD) { | 
| *vad = 0; | 
|  | 
| -    int sampleRate_10 = 10 * sampleRate / 1000; | 
| -    int sampleRate_20 = 20 * sampleRate / 1000; | 
| -    int sampleRate_30 = 30 * sampleRate / 1000; | 
| -    for (int k = 0; k < numChannels; k++) { | 
| +    size_t sampleRate_10 = static_cast<size_t>(10 * sampleRate / 1000); | 
| +    size_t sampleRate_20 = static_cast<size_t>(20 * sampleRate / 1000); | 
| +    size_t sampleRate_30 = static_cast<size_t>(30 * sampleRate / 1000); | 
| +    for (size_t k = 0; k < numChannels; k++) { | 
| tempLen = frameLen; | 
| tempdata = &indata[k * frameLen]; | 
| int localVad = 0; | 
| /* Partition the signal and test each chunk for VAD. | 
| -      All chunks must be VAD=0 to produce a total VAD=0. */ | 
| +         All chunks must be VAD=0 to produce a total VAD=0. */ | 
| while (tempLen >= sampleRate_10) { | 
| if ((tempLen % sampleRate_30) == 0) {  // tempLen is multiple of 30ms | 
| localVad |= WebRtcVad_Process(VAD_inst[k], sampleRate, tempdata, | 
| @@ -1607,7 +1607,7 @@ int NetEQTest_encode(int coder, | 
| if (!*vad) { | 
| // all channels are silent | 
| cdlen = 0; | 
| -      for (int k = 0; k < numChannels; k++) { | 
| +      for (size_t k = 0; k < numChannels; k++) { | 
| WebRtcCng_Encode(CNGenc_inst[k], &indata[k * frameLen], | 
| (frameLen <= 640 ? frameLen : 640) /* max 640 */, | 
| encoded, &tempLen, first_cng); | 
| @@ -1621,9 +1621,9 @@ int NetEQTest_encode(int coder, | 
| } | 
|  | 
| // loop over all channels | 
| -  int totalLen = 0; | 
| +  size_t totalLen = 0; | 
|  | 
| -  for (int k = 0; k < numChannels; k++) { | 
| +  for (size_t k = 0; k < numChannels; k++) { | 
| /* Encode with the selected coder type */ | 
| if (coder == webrtc::kDecoderPCMu) { /*g711 u-law */ | 
| #ifdef CODEC_G711 | 
| @@ -1652,7 +1652,8 @@ int NetEQTest_encode(int coder, | 
| #endif | 
| #ifdef CODEC_ILBC | 
| else if (coder == webrtc::kDecoderILBC) { /*iLBC */ | 
| -      cdlen = WebRtcIlbcfix_Encode(iLBCenc_inst[k], indata, frameLen, encoded); | 
| +      cdlen = static_cast<size_t>(std::max( | 
| +          WebRtcIlbcfix_Encode(iLBCenc_inst[k], indata, frameLen, encoded), 0)); | 
| } | 
| #endif | 
| #if (defined(CODEC_ISAC) || \ | 
| @@ -1660,28 +1661,30 @@ int NetEQTest_encode(int coder, | 
| // NETEQ_ISACFIX_CODEC | 
| else if (coder == webrtc::kDecoderISAC) { /*iSAC */ | 
| int noOfCalls = 0; | 
| -      cdlen = 0; | 
| -      while (cdlen <= 0) { | 
| +      int res = 0; | 
| +      while (res <= 0) { | 
| #ifdef CODEC_ISAC /* floating point */ | 
| -        cdlen = | 
| +        res = | 
| WebRtcIsac_Encode(ISAC_inst[k], &indata[noOfCalls * 160], encoded); | 
| #else /* fixed point */ | 
| -        cdlen = WebRtcIsacfix_Encode(ISAC_inst[k], &indata[noOfCalls * 160], | 
| -                                     encoded); | 
| +        res = WebRtcIsacfix_Encode(ISAC_inst[k], &indata[noOfCalls * 160], | 
| +                                   encoded); | 
| #endif | 
| noOfCalls++; | 
| } | 
| +      cdlen = static_cast<size_t>(res); | 
| } | 
| #endif | 
| #ifdef CODEC_ISAC_SWB | 
| else if (coder == webrtc::kDecoderISACswb) { /* iSAC SWB */ | 
| int noOfCalls = 0; | 
| -      cdlen = 0; | 
| -      while (cdlen <= 0) { | 
| -        cdlen = WebRtcIsac_Encode(ISACSWB_inst[k], &indata[noOfCalls * 320], | 
| -                                  encoded); | 
| +      int res = 0; | 
| +      while (res <= 0) { | 
| +        res = WebRtcIsac_Encode(ISACSWB_inst[k], &indata[noOfCalls * 320], | 
| +                                encoded); | 
| noOfCalls++; | 
| } | 
| +      cdlen = static_cast<size_t>(res); | 
| } | 
| #endif | 
| indata += frameLen; | 
| @@ -1757,11 +1760,11 @@ int makeRedundantHeader(unsigned char* rtp_data, | 
| return rtpPointer - rtp_data;  // length of header in bytes | 
| } | 
|  | 
| -int makeDTMFpayload(unsigned char* payload_data, | 
| -                    int Event, | 
| -                    int End, | 
| -                    int Volume, | 
| -                    int Duration) { | 
| +size_t makeDTMFpayload(unsigned char* payload_data, | 
| +                       int Event, | 
| +                       int End, | 
| +                       int Volume, | 
| +                       int Duration) { | 
| unsigned char E, R, V; | 
| R = 0; | 
| V = (unsigned char)Volume; | 
| @@ -1778,11 +1781,11 @@ int makeDTMFpayload(unsigned char* payload_data, | 
| return (4); | 
| } | 
|  | 
| -void stereoDeInterleave(int16_t* audioSamples, int numSamples) { | 
| +void stereoDeInterleave(int16_t* audioSamples, size_t numSamples) { | 
| int16_t* tempVec; | 
| int16_t* readPtr, *writeL, *writeR; | 
|  | 
| -  if (numSamples <= 0) | 
| +  if (numSamples == 0) | 
| return; | 
|  | 
| tempVec = (int16_t*)malloc(sizeof(int16_t) * numSamples); | 
| @@ -1797,7 +1800,7 @@ void stereoDeInterleave(int16_t* audioSamples, int numSamples) { | 
| writeR = &audioSamples[numSamples / 2]; | 
| readPtr = tempVec; | 
|  | 
| -  for (int k = 0; k < numSamples; k += 2) { | 
| +  for (size_t k = 0; k < numSamples; k += 2) { | 
| *writeL = *readPtr; | 
| readPtr++; | 
| *writeR = *readPtr; | 
| @@ -1809,7 +1812,7 @@ void stereoDeInterleave(int16_t* audioSamples, int numSamples) { | 
| free(tempVec); | 
| } | 
|  | 
| -void stereoInterleave(unsigned char* data, int dataLen, int stride) { | 
| +void stereoInterleave(unsigned char* data, size_t dataLen, size_t stride) { | 
| unsigned char* ptrL, *ptrR; | 
| unsigned char temp[10]; | 
|  | 
|  |