Update a ton of audio code to use size_t more correctly and in general reduce
use of int16_t/uint16_t.

This is the upshot of a recommendation by henrik.lundin and kwiberg on an original small change ( https://webrtc-codereview.appspot.com/42569004/#ps1 ) to stop using int16_t just because values could fit in it, and is similar in nature to a previous "mass change to use size_t more" ( https://webrtc-codereview.appspot.com/23129004/ ) which also needed to be split up for review but to land all at once, since, like adding "const", such changes tend to cause a lot of transitive effects.

This was be reviewed and approved in pieces:
https://codereview.webrtc.org/1224093003
https://codereview.webrtc.org/1224123002
https://codereview.webrtc.org/1224163002
https://codereview.webrtc.org/1225133003
https://codereview.webrtc.org/1225173002
https://codereview.webrtc.org/1227163003
https://codereview.webrtc.org/1227203003
https://codereview.webrtc.org/1227213002
https://codereview.webrtc.org/1227893002
https://codereview.webrtc.org/1228793004
https://codereview.webrtc.org/1228803003
https://codereview.webrtc.org/1228823002
https://codereview.webrtc.org/1228823003
https://codereview.webrtc.org/1228843002
https://codereview.webrtc.org/1230693002
https://codereview.webrtc.org/1231713002

The change is being landed as TBR to all the folks who reviewed the above.

BUG=chromium:81439
TEST=none
R=andrew@webrtc.org, pbos@webrtc.org
TBR=aluebs, andrew, asapersson, henrika, hlundin, jan.skoglund, kwiberg, minyue, pbos, pthatcher

Review URL: https://codereview.webrtc.org/1230503003 .

Cr-Commit-Position: refs/heads/master@{#9768}
diff --git a/webrtc/modules/audio_coding/neteq/test/RTPencode.cc b/webrtc/modules/audio_coding/neteq/test/RTPencode.cc
index 7e778b8..b2df07a 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 @@
                         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 @@
 #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 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 @@
   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 @@
   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 @@
       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 @@
           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 @@
 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 @@
 }
 
 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 @@
           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 @@
           }
           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 @@
           }
           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 @@
                    "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 @@
                 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 @@
                    "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 @@
   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 @@
   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 @@
     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 @@
   }
 
   // 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 @@
 #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 @@
                                               // 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 @@
   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 @@
   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 @@
   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 @@
   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];