Fix audioproc build errors on Windows.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/254003

git-svn-id: http://webrtc.googlecode.com/svn/trunk@859 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/src/modules/audio_processing/apm_tests.gypi b/src/modules/audio_processing/apm_tests.gypi
index 2cf983e..59a1864 100644
--- a/src/modules/audio_processing/apm_tests.gypi
+++ b/src/modules/audio_processing/apm_tests.gypi
@@ -57,6 +57,7 @@
       'type': 'executable',
       'dependencies': [
         'audioproc_debug_proto',
+        '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
         '<(webrtc_root)/../third_party/google-gflags/google-gflags.gyp:google-gflags',
       ],
       'sources': [ 'test/unpack.cc', ],
diff --git a/src/modules/audio_processing/test/process_test.cc b/src/modules/audio_processing/test/process_test.cc
index 9e59756..d5e8a06 100644
--- a/src/modules/audio_processing/test/process_test.cc
+++ b/src/modules/audio_processing/test/process_test.cc
@@ -19,6 +19,7 @@
 #include "audio_processing.h"
 #include "cpu_features_wrapper.h"
 #include "module_common_types.h"
+#include "scoped_ptr.h"
 #include "tick_util.h"
 #ifdef WEBRTC_ANDROID
 #include "external/webrtc/src/modules/audio_processing/debug.pb.h"
@@ -31,8 +32,10 @@
 using webrtc::EchoCancellation;
 using webrtc::GainControl;
 using webrtc::NoiseSuppression;
+using webrtc::scoped_array;
 using webrtc::TickInterval;
 using webrtc::TickTime;
+
 using webrtc::audioproc::Event;
 using webrtc::audioproc::Init;
 using webrtc::audioproc::ReverseStream;
@@ -51,15 +54,15 @@
   if (size <= 0) {
     return false;
   }
-  size_t usize = static_cast<size_t>(size);
+  const size_t usize = static_cast<size_t>(size);
 
-  char array[usize];
-  if (fread(array, sizeof(char), usize, file) != usize) {
+  scoped_array<char> array(new char[usize]);
+  if (fread(array.get(), sizeof(char), usize, file) != usize) {
     return false;
   }
 
   msg->Clear();
-  return msg->ParseFromArray(array, usize);
+  return msg->ParseFromArray(array.get(), usize);
 }
 
 void PrintStat(const AudioProcessing::Statistic& stat) {
@@ -470,13 +473,14 @@
 
     const size_t path_size =
         apm->echo_control_mobile()->echo_path_size_bytes();
-    unsigned char echo_path[path_size];
-    ASSERT_EQ(path_size, fread(echo_path,
-                               sizeof(unsigned char),
+    scoped_array<char> echo_path(new char[path_size]);
+    ASSERT_EQ(path_size, fread(echo_path.get(),
+                               sizeof(char),
                                path_size,
                                aecm_echo_path_in_file));
     EXPECT_EQ(apm->kNoError,
-              apm->echo_control_mobile()->SetEchoPath(echo_path, path_size));
+              apm->echo_control_mobile()->SetEchoPath(echo_path.get(),
+                                                      path_size));
     fclose(aecm_echo_path_in_file);
     aecm_echo_path_in_file = NULL;
   }
@@ -863,10 +867,10 @@
   if (aecm_echo_path_out_file != NULL) {
     const size_t path_size =
         apm->echo_control_mobile()->echo_path_size_bytes();
-    unsigned char echo_path[path_size];
-    apm->echo_control_mobile()->GetEchoPath(echo_path, path_size);
-    ASSERT_EQ(path_size, fwrite(echo_path,
-                                sizeof(unsigned char),
+    scoped_array<char> echo_path(new char[path_size]);
+    apm->echo_control_mobile()->GetEchoPath(echo_path.get(), path_size);
+    ASSERT_EQ(path_size, fwrite(echo_path.get(),
+                                sizeof(char),
                                 path_size,
                                 aecm_echo_path_out_file));
     fclose(aecm_echo_path_out_file);
diff --git a/src/modules/audio_processing/test/unit_test.cc b/src/modules/audio_processing/test/unit_test.cc
index 2a50bc3..e15a1a3 100644
--- a/src/modules/audio_processing/test/unit_test.cc
+++ b/src/modules/audio_processing/test/unit_test.cc
@@ -15,6 +15,7 @@
 #include "audio_processing.h"
 #include "event_wrapper.h"
 #include "module_common_types.h"
+#include "scoped_ptr.h"
 #include "signal_processing_library.h"
 #include "testsupport/fileutils.h"
 #include "thread_wrapper.h"
@@ -31,6 +32,7 @@
 using webrtc::NoiseSuppression;
 using webrtc::EchoCancellation;
 using webrtc::EventWrapper;
+using webrtc::scoped_array;
 using webrtc::Trace;
 using webrtc::LevelEstimator;
 using webrtc::EchoCancellation;
@@ -775,26 +777,28 @@
   // Set and get echo path
   const size_t echo_path_size =
       apm_->echo_control_mobile()->echo_path_size_bytes();
-  unsigned char echo_path_in[echo_path_size];
-  unsigned char echo_path_out[echo_path_size];
+  scoped_array<char> echo_path_in(new char[echo_path_size]);
+  scoped_array<char> echo_path_out(new char[echo_path_size]);
   EXPECT_EQ(apm_->kNullPointerError,
             apm_->echo_control_mobile()->SetEchoPath(NULL, echo_path_size));
   EXPECT_EQ(apm_->kNullPointerError,
             apm_->echo_control_mobile()->GetEchoPath(NULL, echo_path_size));
   EXPECT_EQ(apm_->kBadParameterError,
-            apm_->echo_control_mobile()->GetEchoPath(echo_path_out, 1));
+            apm_->echo_control_mobile()->GetEchoPath(echo_path_out.get(), 1));
   EXPECT_EQ(apm_->kNoError,
-            apm_->echo_control_mobile()->GetEchoPath(echo_path_out,
+            apm_->echo_control_mobile()->GetEchoPath(echo_path_out.get(),
                                                      echo_path_size));
   for (size_t i = 0; i < echo_path_size; i++) {
     echo_path_in[i] = echo_path_out[i] + 1;
   }
   EXPECT_EQ(apm_->kBadParameterError,
-            apm_->echo_control_mobile()->SetEchoPath(echo_path_in, 1));
+            apm_->echo_control_mobile()->SetEchoPath(echo_path_in.get(), 1));
   EXPECT_EQ(apm_->kNoError,
-            apm_->echo_control_mobile()->SetEchoPath(echo_path_in, echo_path_size));
+            apm_->echo_control_mobile()->SetEchoPath(echo_path_in.get(),
+                                                     echo_path_size));
   EXPECT_EQ(apm_->kNoError,
-            apm_->echo_control_mobile()->GetEchoPath(echo_path_out, echo_path_size));
+            apm_->echo_control_mobile()->GetEchoPath(echo_path_out.get(),
+                                                     echo_path_size));
   for (size_t i = 0; i < echo_path_size; i++) {
     EXPECT_EQ(echo_path_in[i], echo_path_out[i]);
   }
diff --git a/src/modules/audio_processing/test/unpack.cc b/src/modules/audio_processing/test/unpack.cc
index 2db0d35..2955631 100644
--- a/src/modules/audio_processing/test/unpack.cc
+++ b/src/modules/audio_processing/test/unpack.cc
@@ -16,8 +16,12 @@
 #include <stdio.h>
 
 #include "google/gflags.h"
+#include "scoped_ptr.h"
+#include "typedefs.h"
 #include "webrtc/audio_processing/debug.pb.h"
 
+using webrtc::scoped_array;
+
 using webrtc::audioproc::Event;
 using webrtc::audioproc::ReverseStream;
 using webrtc::audioproc::Stream;
@@ -41,15 +45,15 @@
   if (size <= 0) {
     return false;
   }
-  size_t usize = static_cast<size_t>(size);
+  const size_t usize = static_cast<size_t>(size);
 
-  char array[usize];
-  if (fread(array, sizeof(char), usize, file) != usize) {
+  scoped_array<char> array(new char[usize]);
+  if (fread(array.get(), sizeof(char), usize, file) != usize) {
     return false;
   }
 
   msg->Clear();
-  return msg->ParseFromArray(array, usize);
+  return msg->ParseFromArray(array.get(), usize);
 }
 
 int main(int argc, char* argv[]) {