OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 | 201 |
202 // Read too many samples. Expect to get all samples from the vector. | 202 // Read too many samples. Expect to get all samples from the vector. |
203 EXPECT_EQ(interleaved_length_, | 203 EXPECT_EQ(interleaved_length_, |
204 vec.ReadInterleaved(array_length() + 1, output)); | 204 vec.ReadInterleaved(array_length() + 1, output)); |
205 EXPECT_EQ(0, | 205 EXPECT_EQ(0, |
206 memcmp(array_interleaved_, output, read_samples * sizeof(int16_t))); | 206 memcmp(array_interleaved_, output, read_samples * sizeof(int16_t))); |
207 | 207 |
208 delete [] output; | 208 delete [] output; |
209 } | 209 } |
210 | 210 |
211 // Try to read to a NULL pointer. Expected to return 0. | |
212 TEST_P(AudioMultiVectorTest, ReadInterleavedToNull) { | |
213 AudioMultiVector vec(num_channels_); | |
214 vec.PushBackInterleaved(array_interleaved_, interleaved_length_); | |
215 int16_t* output = NULL; | |
216 // Read 5 samples. | |
217 size_t read_samples = 5; | |
218 EXPECT_EQ(0u, vec.ReadInterleaved(read_samples, output)); | |
219 } | |
220 | |
221 // Test the PopFront method. | 211 // Test the PopFront method. |
222 TEST_P(AudioMultiVectorTest, PopFront) { | 212 TEST_P(AudioMultiVectorTest, PopFront) { |
223 AudioMultiVector vec(num_channels_); | 213 AudioMultiVector vec(num_channels_); |
224 vec.PushBackInterleaved(array_interleaved_, interleaved_length_); | 214 vec.PushBackInterleaved(array_interleaved_, interleaved_length_); |
225 vec.PopFront(1); // Remove one element from each channel. | 215 vec.PopFront(1); // Remove one element from each channel. |
226 ASSERT_EQ(array_length() - 1u, vec.Size()); | 216 ASSERT_EQ(array_length() - 1u, vec.Size()); |
227 // Let |ptr| point to the second element of the first channel in the | 217 // Let |ptr| point to the second element of the first channel in the |
228 // interleaved array. | 218 // interleaved array. |
229 int16_t* ptr = &array_interleaved_[num_channels_]; | 219 int16_t* ptr = &array_interleaved_[num_channels_]; |
230 for (size_t i = 0; i < array_length() - 1; ++i) { | 220 for (size_t i = 0; i < array_length() - 1; ++i) { |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 EXPECT_EQ(vec[0][i], vec[num_channels_ - 1][i]); | 314 EXPECT_EQ(vec[0][i], vec[num_channels_ - 1][i]); |
325 } | 315 } |
326 } | 316 } |
327 | 317 |
328 INSTANTIATE_TEST_CASE_P(TestNumChannels, | 318 INSTANTIATE_TEST_CASE_P(TestNumChannels, |
329 AudioMultiVectorTest, | 319 AudioMultiVectorTest, |
330 ::testing::Values(static_cast<size_t>(1), | 320 ::testing::Values(static_cast<size_t>(1), |
331 static_cast<size_t>(2), | 321 static_cast<size_t>(2), |
332 static_cast<size_t>(5))); | 322 static_cast<size_t>(5))); |
333 } // namespace webrtc | 323 } // namespace webrtc |
OLD | NEW |