Fix WebRtc ninja x86 build using Visual Studio 2015 (set GYP_MSVS_VERSION=2015).

Visual Studio 2015 balks at the implicit truncation of values. Easily fixed with an explicit cast.

Fixed redefinition of CLOCKS_PER_SEC when using Visual Studio 2015 and the Windows 10 SDK. CLOCKS_PER_SEC is also defined in "<WIN10 SDK DIR>\include\10.0.10240.0\ucrt\time.h" and also has the value of 1000

Hiding snprintf definition if building with Visual Studio 2015

Fixed C4573 compiler complaint in audio_processing_impl_locking_unittest.cc.

BUG=webrtc:5183

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

Cr-Commit-Position: refs/heads/master@{#11434}
diff --git a/webrtc/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc b/webrtc/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc
index 4cef8f7..a734bb0 100644
--- a/webrtc/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc
+++ b/webrtc/modules/audio_coding/codecs/isac/main/test/ReleaseTest-API/ReleaseTest-API.cc
@@ -33,8 +33,10 @@
 //#define FS 16000 /* sampling frequency (Hz) */
 
 #ifdef WIN32
+#ifndef CLOCKS_PER_SEC
 #define CLOCKS_PER_SEC 1000 /* Runtime statistics */
 #endif
+#endif
 
 using namespace std;
 
diff --git a/webrtc/modules/audio_coding/codecs/isac/main/test/simpleKenny.c b/webrtc/modules/audio_coding/codecs/isac/main/test/simpleKenny.c
index e8116ff..1a1697f 100644
--- a/webrtc/modules/audio_coding/codecs/isac/main/test/simpleKenny.c
+++ b/webrtc/modules/audio_coding/codecs/isac/main/test/simpleKenny.c
@@ -17,8 +17,10 @@
 
 #ifdef WIN32
 #include "windows.h"
+#ifndef CLOCKS_PER_SEC
 #define CLOCKS_PER_SEC 1000
 #endif
+#endif
 
 #include <ctype.h>
 #include <math.h>
@@ -218,7 +220,7 @@
   _makepath(bitrateFileName, outDrive, outPath, "bitrate", ".txt");
 
   bitrateFile = fopen(bitrateFileName, "a");
-  fprintf(bitrateFile, "%  %%s  \n", inname);
+  fprintf(bitrateFile, "%%  %s  \n", inname);
 #endif
 
   printf("\n");
diff --git a/webrtc/modules/audio_processing/audio_processing_impl_locking_unittest.cc b/webrtc/modules/audio_processing/audio_processing_impl_locking_unittest.cc
index 3d2c71f..2e22b2c 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl_locking_unittest.cc
+++ b/webrtc/modules/audio_processing/audio_processing_impl_locking_unittest.cc
@@ -198,8 +198,12 @@
           AecType::BasicWebRtcAecSettingsWithDelayAgnosticAec,
           AecType::BasicWebRtcAecSettingsWithAecMobile};
       for (auto test_config : in) {
-        for (auto aec_type : aec_types) {
-          test_config.aec_type = aec_type;
+        // Due to a VisualStudio 2015 compiler issue, the internal loop
+        // variable here cannot override a previously defined name.
+        // In other words "type" cannot be named "aec_type" here.
+        // https://connect.microsoft.com/VisualStudio/feedback/details/2291755
+        for (auto type : aec_types) {
+          test_config.aec_type = type;
           out.push_back(test_config);
         }
       }
diff --git a/webrtc/modules/audio_processing/transient/file_utils_unittest.cc b/webrtc/modules/audio_processing/transient/file_utils_unittest.cc
index 7fb7d2d..b8d532f 100644
--- a/webrtc/modules/audio_processing/transient/file_utils_unittest.cc
+++ b/webrtc/modules/audio_processing/transient/file_utils_unittest.cc
@@ -419,9 +419,9 @@
   rtc::scoped_ptr<float[]> written_buffer(new float[kBufferLength]);
   rtc::scoped_ptr<float[]> read_buffer(new float[kBufferLength]);
 
-  written_buffer[0] = kPi;
-  written_buffer[1] = kE;
-  written_buffer[2] = kAvogadro;
+  written_buffer[0] = static_cast<float>(kPi);
+  written_buffer[1] = static_cast<float>(kE);
+  written_buffer[2] = static_cast<float>(kAvogadro);
 
   EXPECT_EQ(kBufferLength, WriteFloatBufferToFile(file.get(),
                                                   kBufferLength,