| Index: webrtc/common_audio/resampler/push_resampler.cc
|
| diff --git a/webrtc/common_audio/resampler/push_resampler.cc b/webrtc/common_audio/resampler/push_resampler.cc
|
| index 973c8f74f765e85cd7d51b01500fa356dd9a6d81..566acdeaa3c7ac670a768104f62a33546830c7c2 100644
|
| --- a/webrtc/common_audio/resampler/push_resampler.cc
|
| +++ b/webrtc/common_audio/resampler/push_resampler.cc
|
| @@ -47,8 +47,10 @@ int PushResampler<T>::InitializeIfNeeded(int src_sample_rate_hz,
|
| dst_sample_rate_hz_ = dst_sample_rate_hz;
|
| num_channels_ = num_channels;
|
|
|
| - const int src_size_10ms_mono = src_sample_rate_hz / 100;
|
| - const int dst_size_10ms_mono = dst_sample_rate_hz / 100;
|
| + const size_t src_size_10ms_mono =
|
| + static_cast<size_t>(src_sample_rate_hz / 100);
|
| + const size_t dst_size_10ms_mono =
|
| + static_cast<size_t>(dst_sample_rate_hz / 100);
|
| sinc_resampler_.reset(new PushSincResampler(src_size_10ms_mono,
|
| dst_size_10ms_mono));
|
| if (num_channels_ == 2) {
|
| @@ -64,10 +66,12 @@ int PushResampler<T>::InitializeIfNeeded(int src_sample_rate_hz,
|
| }
|
|
|
| template <typename T>
|
| -int PushResampler<T>::Resample(const T* src, int src_length, T* dst,
|
| - int dst_capacity) {
|
| - const int src_size_10ms = src_sample_rate_hz_ * num_channels_ / 100;
|
| - const int dst_size_10ms = dst_sample_rate_hz_ * num_channels_ / 100;
|
| +int PushResampler<T>::Resample(const T* src, size_t src_length, T* dst,
|
| + size_t dst_capacity) {
|
| + const size_t src_size_10ms =
|
| + static_cast<size_t>(src_sample_rate_hz_ * num_channels_ / 100);
|
| + const size_t dst_size_10ms =
|
| + static_cast<size_t>(dst_sample_rate_hz_ * num_channels_ / 100);
|
| if (src_length != src_size_10ms || dst_capacity < dst_size_10ms)
|
| return -1;
|
|
|
| @@ -75,15 +79,15 @@ int PushResampler<T>::Resample(const T* src, int src_length, T* dst,
|
| // The old resampler provides this memcpy facility in the case of matching
|
| // sample rates, so reproduce it here for the sinc resampler.
|
| memcpy(dst, src, src_length * sizeof(T));
|
| - return src_length;
|
| + return static_cast<int>(src_length);
|
| }
|
| if (num_channels_ == 2) {
|
| - const int src_length_mono = src_length / num_channels_;
|
| - const int dst_capacity_mono = dst_capacity / num_channels_;
|
| + const size_t src_length_mono = src_length / num_channels_;
|
| + const size_t dst_capacity_mono = dst_capacity / num_channels_;
|
| T* deinterleaved[] = {src_left_.get(), src_right_.get()};
|
| Deinterleave(src, src_length_mono, num_channels_, deinterleaved);
|
|
|
| - int dst_length_mono =
|
| + size_t dst_length_mono =
|
| sinc_resampler_->Resample(src_left_.get(), src_length_mono,
|
| dst_left_.get(), dst_capacity_mono);
|
| sinc_resampler_right_->Resample(src_right_.get(), src_length_mono,
|
| @@ -92,9 +96,10 @@ int PushResampler<T>::Resample(const T* src, int src_length, T* dst,
|
| deinterleaved[0] = dst_left_.get();
|
| deinterleaved[1] = dst_right_.get();
|
| Interleave(deinterleaved, dst_length_mono, num_channels_, dst);
|
| - return dst_length_mono * num_channels_;
|
| + return static_cast<int>(dst_length_mono * num_channels_);
|
| } else {
|
| - return sinc_resampler_->Resample(src, src_length, dst, dst_capacity);
|
| + return static_cast<int>(
|
| + sinc_resampler_->Resample(src, src_length, dst, dst_capacity));
|
| }
|
| }
|
|
|
|
|