Fix WEBRTC_AEC_DEBUG_DUMP (broken by int16->float conversion)

And in the process, make it dump WAV files instead of raw PCM.

R=andrew@webrtc.org, bjornv@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19089004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6959 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/common_audio/wav_writer_unittest.cc b/webrtc/common_audio/wav_writer_unittest.cc
index 9efe96e..9c593be 100644
--- a/webrtc/common_audio/wav_writer_unittest.cc
+++ b/webrtc/common_audio/wav_writer_unittest.cc
@@ -25,10 +25,14 @@
 // Write a tiny WAV file with the C++ interface and verify the result.
 TEST(WavWriterTest, CPP) {
   const std::string outfile = webrtc::test::OutputPath() + "wavtest1.wav";
-  static const int kNumSamples = 3;
+  static const uint32_t kNumSamples = 3;
   {
     webrtc::WavFile w(outfile, 14099, 1);
+    EXPECT_EQ(14099, w.sample_rate());
+    EXPECT_EQ(1, w.num_channels());
+    EXPECT_EQ(0u, w.num_samples());
     w.WriteSamples(kSamples, kNumSamples);
+    EXPECT_EQ(kNumSamples, w.num_samples());
   }
   static const uint8_t kExpectedContents[] = {
     'R', 'I', 'F', 'F',
@@ -64,9 +68,14 @@
 TEST(WavWriterTest, C) {
   const std::string outfile = webrtc::test::OutputPath() + "wavtest2.wav";
   rtc_WavFile *w = rtc_WavOpen(outfile.c_str(), 11904, 2);
-  static const int kNumSamples = 4;
+  EXPECT_EQ(11904, rtc_WavSampleRate(w));
+  EXPECT_EQ(2, rtc_WavNumChannels(w));
+  EXPECT_EQ(0u, rtc_WavNumSamples(w));
+  static const uint32_t kNumSamples = 4;
   rtc_WavWriteSamples(w, &kSamples[0], 2);
+  EXPECT_EQ(2u, rtc_WavNumSamples(w));
   rtc_WavWriteSamples(w, &kSamples[2], kNumSamples - 2);
+  EXPECT_EQ(kNumSamples, rtc_WavNumSamples(w));
   rtc_WavClose(w);
   static const uint8_t kExpectedContents[] = {
     'R', 'I', 'F', 'F',
@@ -104,9 +113,9 @@
   std::string outfile = webrtc::test::OutputPath() + "wavtest3.wav";
   static const int kSampleRate = 8000;
   static const int kNumChannels = 2;
-  static const int kNumSamples = 3 * kSampleRate * kNumChannels;
+  static const uint32_t kNumSamples = 3 * kSampleRate * kNumChannels;
   float samples[kNumSamples];
-  for (int i = 0; i < kNumSamples; i += kNumChannels) {
+  for (uint32_t i = 0; i < kNumSamples; i += kNumChannels) {
     // A nice periodic beeping sound.
     static const double kToneHz = 440;
     const double t = static_cast<double>(i) / (kNumChannels * kSampleRate);
@@ -117,7 +126,11 @@
   }
   {
     webrtc::WavFile w(outfile, kSampleRate, kNumChannels);
+    EXPECT_EQ(kSampleRate, w.sample_rate());
+    EXPECT_EQ(kNumChannels, w.num_channels());
+    EXPECT_EQ(0u, w.num_samples());
     w.WriteSamples(samples, kNumSamples);
+    EXPECT_EQ(kNumSamples, w.num_samples());
   }
   EXPECT_EQ(sizeof(int16_t) * kNumSamples + webrtc::kWavHeaderSize,
             webrtc::test::GetFileSize(outfile));