mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-16 23:30:48 +01:00

The PushResampler has a SincResampler per channel. Before this CL, it was hard-coded to handle up to 2 channels. In this CL I made it handle arbitrarily many. Bug: webrtc:8649 Change-Id: Ia2f33e45535f8bbda59090f8a0847546ff7edd75 Reviewed-on: https://webrtc-review.googlesource.com/103000 Commit-Queue: Alex Loiko <aleloi@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24928}
52 lines
1.8 KiB
C++
52 lines
1.8 KiB
C++
/*
|
|
* Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#include "common_audio/resampler/include/push_resampler.h"
|
|
#include "rtc_base/checks.h" // RTC_DCHECK_IS_ON
|
|
#include "test/gtest.h"
|
|
|
|
// Quality testing of PushResampler is handled through output_mixer_unittest.cc.
|
|
|
|
namespace webrtc {
|
|
|
|
// The below tests are temporarily disabled on WEBRTC_WIN due to problems
|
|
// with clang debug builds.
|
|
// TODO(tommi): Re-enable when we've figured out what the problem is.
|
|
// http://crbug.com/615050
|
|
#if !defined(WEBRTC_WIN) && defined(__clang__) && !defined(NDEBUG)
|
|
TEST(PushResamplerTest, VerifiesInputParameters) {
|
|
PushResampler<int16_t> resampler;
|
|
EXPECT_EQ(0, resampler.InitializeIfNeeded(16000, 16000, 1));
|
|
EXPECT_EQ(0, resampler.InitializeIfNeeded(16000, 16000, 2));
|
|
EXPECT_EQ(0, resampler.InitializeIfNeeded(16000, 16000, 8));
|
|
}
|
|
|
|
#if RTC_DCHECK_IS_ON && GTEST_HAS_DEATH_TEST && !defined(WEBRTC_ANDROID)
|
|
TEST(PushResamplerTest, VerifiesBadInputParameters1) {
|
|
PushResampler<int16_t> resampler;
|
|
EXPECT_DEATH(resampler.InitializeIfNeeded(-1, 16000, 1),
|
|
"src_sample_rate_hz");
|
|
}
|
|
|
|
TEST(PushResamplerTest, VerifiesBadInputParameters2) {
|
|
PushResampler<int16_t> resampler;
|
|
EXPECT_DEATH(resampler.InitializeIfNeeded(16000, -1, 1),
|
|
"dst_sample_rate_hz");
|
|
}
|
|
|
|
TEST(PushResamplerTest, VerifiesBadInputParameters3) {
|
|
PushResampler<int16_t> resampler;
|
|
EXPECT_DEATH(resampler.InitializeIfNeeded(16000, 16000, 0), "num_channels");
|
|
}
|
|
|
|
#endif
|
|
#endif
|
|
|
|
} // namespace webrtc
|