Index: webrtc/modules/audio_device/fine_audio_buffer_unittest.cc |
diff --git a/webrtc/modules/audio_device/fine_audio_buffer_unittest.cc b/webrtc/modules/audio_device/fine_audio_buffer_unittest.cc |
index 535f16816cb4998230d6394d14b2af9c88007ea6..c7fef57097ce6417a573b9360001ed281714561d 100644 |
--- a/webrtc/modules/audio_device/fine_audio_buffer_unittest.cc |
+++ b/webrtc/modules/audio_device/fine_audio_buffer_unittest.cc |
@@ -13,6 +13,7 @@ |
#include <limits.h> |
#include <memory> |
+#include "webrtc/base/array_view.h" |
#include "webrtc/modules/audio_device/mock_audio_device_buffer.h" |
#include "webrtc/test/gmock.h" |
#include "webrtc/test/gtest.h" |
@@ -24,6 +25,9 @@ using ::testing::Return; |
namespace webrtc { |
+const int kSampleRate = 44100; |
+const int kSamplesPer10Ms = kSampleRate * 10 / 1000; |
+ |
// The fake audio data is 0,1,..SCHAR_MAX-1,0,1,... This is to make it easy |
// to detect errors. This function verifies that the buffers contain such data. |
// E.g. if there are two buffers of size 3, buffer 1 would contain 0,1,2 and |
@@ -80,8 +84,7 @@ ACTION_P2(VerifyInputBuffer, iteration, samples_per_10_ms) { |
return 0; |
} |
-void RunFineBufferTest(int sample_rate, int frame_size_in_samples) { |
- const int kSamplesPer10Ms = sample_rate * 10 / 1000; |
+void RunFineBufferTest(int frame_size_in_samples) { |
const int kFrameSizeBytes = |
frame_size_in_samples * static_cast<int>(sizeof(int16_t)); |
const int kNumberOfFrames = 5; |
@@ -114,33 +117,29 @@ void RunFineBufferTest(int sample_rate, int frame_size_in_samples) { |
.Times(kNumberOfUpdateBufferCalls - 1) |
.WillRepeatedly(Return(kSamplesPer10Ms)); |
- FineAudioBuffer fine_buffer(&audio_device_buffer, kFrameSizeBytes, |
- sample_rate); |
+ FineAudioBuffer fine_buffer(&audio_device_buffer, kSampleRate, |
+ kFrameSizeBytes); |
+ std::unique_ptr<int8_t[]> out_buffer(new int8_t[kFrameSizeBytes]); |
+ std::unique_ptr<int8_t[]> in_buffer(new int8_t[kFrameSizeBytes]); |
- std::unique_ptr<int8_t[]> out_buffer; |
- out_buffer.reset(new int8_t[kFrameSizeBytes]); |
- std::unique_ptr<int8_t[]> in_buffer; |
- in_buffer.reset(new int8_t[kFrameSizeBytes]); |
for (int i = 0; i < kNumberOfFrames; ++i) { |
- fine_buffer.GetPlayoutData(out_buffer.get()); |
+ fine_buffer.GetPlayoutData( |
+ rtc::ArrayView<int8_t>(out_buffer.get(), kFrameSizeBytes)); |
EXPECT_TRUE(VerifyBuffer(out_buffer.get(), i, kFrameSizeBytes)); |
UpdateInputBuffer(in_buffer.get(), i, kFrameSizeBytes); |
- fine_buffer.DeliverRecordedData(in_buffer.get(), kFrameSizeBytes, 0, 0); |
+ fine_buffer.DeliverRecordedData( |
+ rtc::ArrayView<const int8_t>(in_buffer.get(), kFrameSizeBytes), 0, 0); |
} |
} |
TEST(FineBufferTest, BufferLessThan10ms) { |
- const int kSampleRate = 44100; |
- const int kSamplesPer10Ms = kSampleRate * 10 / 1000; |
const int kFrameSizeSamples = kSamplesPer10Ms - 50; |
- RunFineBufferTest(kSampleRate, kFrameSizeSamples); |
+ RunFineBufferTest(kFrameSizeSamples); |
} |
TEST(FineBufferTest, GreaterThan10ms) { |
- const int kSampleRate = 44100; |
- const int kSamplesPer10Ms = kSampleRate * 10 / 1000; |
const int kFrameSizeSamples = kSamplesPer10Ms + 50; |
- RunFineBufferTest(kSampleRate, kFrameSizeSamples); |
+ RunFineBufferTest(kFrameSizeSamples); |
} |
} // namespace webrtc |