Chromium Code Reviews| Index: media/base/audio_latency_unittest.cc |
| diff --git a/media/base/audio_latency_unittest.cc b/media/base/audio_latency_unittest.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..03c53ece2defa34dbabbdca9ebb2d7b2ded9a5f5 |
| --- /dev/null |
| +++ b/media/base/audio_latency_unittest.cc |
| @@ -0,0 +1,53 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "media/base/audio_latency.h" |
| + |
| +#include <stdint.h> |
| + |
| +#include "base/logging.h" |
| +#include "build/build_config.h" |
| +#include "testing/gtest/include/gtest/gtest.h" |
| + |
| +namespace media { |
| + |
| +// TODO(olka): extend unit tests, use real-world sample rates. |
| + |
| +TEST(AudioLatency, HighLatencyBufferSizes) { |
| +#if defined(OS_WIN) |
|
Henrik Grunell
2016/06/29 12:20:54
Nit: seems like only diffs by 100 vs 32.
o1ka
2016/06/29 13:57:31
Discussed offline
Henrik Grunell
2016/06/29 17:41:46
Acknowledged.
|
| + for (int i = 6400; i <= 204800; i *= 2) |
| + EXPECT_EQ(2 * (i / 100), |
| + AudioLatency::GetHighLatencyBufferSize(i, i / 100)); |
| +#else |
| + for (int i = 6400; i <= 204800; i *= 2) |
| + EXPECT_EQ(2 * (i / 100), AudioLatency::GetHighLatencyBufferSize(i, 32)); |
| +#endif // defined(OS_WIN) |
| +} |
| + |
| +TEST(AudioLatency, InteractiveBufferSizes) { |
| +#if defined(OS_ANDROID) |
| + for (int i = 6400; i < 102400; i *= 2) |
| + EXPECT_EQ(2048, AudioLatency::GetInteractiveBufferSize(i / 100)); |
| + for (; i <= 204800; i *= 2) |
| + EXPECT_EQ(i / 100, AudioLatency::GetInteractiveBufferSize(i / 100)); |
| +#else |
| + for (int i = 6400; i <= 204800; i *= 2) |
| + EXPECT_EQ(i / 100, AudioLatency::GetInteractiveBufferSize(i / 100)); |
| +#endif // defined(OS_ANDROID) |
| +} |
| + |
| +TEST(AudioLatency, RtcBufferSizes) { |
| + for (int i = 6400; i < 204800; i *= 2) { |
| + EXPECT_EQ(i / 100, AudioLatency::GetRtcBufferSize(i, 0)); |
| +#if defined(OS_WIN) |
| + EXPECT_EQ(500, AudioLatency::GetRtcBufferSize(i, 500)); |
| +#elif defined(OS_ANDROID) |
| + EXPECT_EQ(i / 50, AudioLatency::GetRtcBufferSize(i, i / 50 - 1)); |
| + EXPECT_EQ(i / 50 + 1, AudioLatency::GetRtcBufferSize(i, i / 50 + 1)); |
| +#else |
| + EXPECT_EQ(i / 100, AudioLatency::GetRtcBufferSize(i, 500)); |
| +#endif // defined(OS_WIN) |
| + } |
| +} |
| +} // namespace media |