Resampler modifications in preparation for arbitrary audioproc rates.

- Templatize PushResampler to support int16 and float.
- Add a helper method to PushSincResampler to compute the algorithmic
delay.

This is a prerequisite of:
http://review.webrtc.org/9919004/

BUG=2894
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5943 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/voice_engine/utility.cc b/webrtc/voice_engine/utility.cc
index 5058aa3..b7eb885 100644
--- a/webrtc/voice_engine/utility.cc
+++ b/webrtc/voice_engine/utility.cc
@@ -25,7 +25,7 @@
 // ConvertToCodecFormat, but if we're to consolidate we should probably make a
 // real converter class.
 void RemixAndResample(const AudioFrame& src_frame,
-                      PushResampler* resampler,
+                      PushResampler<int16_t>* resampler,
                       AudioFrame* dst_frame) {
   const int16_t* audio_ptr = src_frame.data_;
   int audio_ptr_num_channels = src_frame.num_channels_;
@@ -76,7 +76,7 @@
                               int codec_num_channels,
                               int codec_rate_hz,
                               int16_t* mono_buffer,
-                              PushResampler* resampler,
+                              PushResampler<int16_t>* resampler,
                               AudioFrame* dst_af) {
   assert(samples_per_channel <= kMaxMonoDataSizeSamples);
   assert(num_channels == 1 || num_channels == 2);