OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <stddef.h> | 5 #include <stddef.h> |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "media/base/audio_timestamp_helper.h" | 9 #include "media/base/audio_timestamp_helper.h" |
10 #include "media/base/timestamp_constants.h" | 10 #include "media/base/timestamp_constants.h" |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 AudioTimestampHelper::FramesToTime(48000000000, k48kHz)); | 73 AudioTimestampHelper::FramesToTime(48000000000, k48kHz)); |
74 } | 74 } |
75 | 75 |
76 TEST_F(AudioTimestampHelperTest, TimeToFrames) { | 76 TEST_F(AudioTimestampHelperTest, TimeToFrames) { |
77 // Negative value. | 77 // Negative value. |
78 EXPECT_EQ(-48000, AudioTimestampHelper::TimeToFrames( | 78 EXPECT_EQ(-48000, AudioTimestampHelper::TimeToFrames( |
79 base::TimeDelta::FromSeconds(-1), k48kHz)); | 79 base::TimeDelta::FromSeconds(-1), k48kHz)); |
80 // Zero. | 80 // Zero. |
81 EXPECT_EQ(0, AudioTimestampHelper::TimeToFrames( | 81 EXPECT_EQ(0, AudioTimestampHelper::TimeToFrames( |
82 base::TimeDelta::FromMicroseconds(0), k48kHz)); | 82 base::TimeDelta::FromMicroseconds(0), k48kHz)); |
83 // Any duration less than 21 microseconds will return zero frames at 48 kHz | 83 // Duration of each frame is 20.833 microseconds. The result is rounded to |
84 // because each frame is 20.833 microseconds. | 84 // integral. |
85 EXPECT_EQ(0, AudioTimestampHelper::TimeToFrames( | 85 EXPECT_EQ(0, AudioTimestampHelper::TimeToFrames( |
| 86 base::TimeDelta::FromMicroseconds(10), k48kHz)); |
| 87 EXPECT_EQ(1, AudioTimestampHelper::TimeToFrames( |
86 base::TimeDelta::FromMicroseconds(20), k48kHz)); | 88 base::TimeDelta::FromMicroseconds(20), k48kHz)); |
87 EXPECT_EQ(1, AudioTimestampHelper::TimeToFrames( | 89 EXPECT_EQ(1, AudioTimestampHelper::TimeToFrames( |
88 base::TimeDelta::FromMicroseconds(21), k48kHz)); | 90 base::TimeDelta::FromMicroseconds(21), k48kHz)); |
89 // Exact value with maximum precision of TimeDelta. | 91 // Exact value with maximum precision of TimeDelta. |
90 EXPECT_EQ(750, AudioTimestampHelper::TimeToFrames( | 92 EXPECT_EQ(750, AudioTimestampHelper::TimeToFrames( |
91 base::TimeDelta::FromMicroseconds(15625), k48kHz)); | 93 base::TimeDelta::FromMicroseconds(15625), k48kHz)); |
92 // One second. | 94 // One second. |
93 EXPECT_EQ(48000, AudioTimestampHelper::TimeToFrames( | 95 EXPECT_EQ(48000, AudioTimestampHelper::TimeToFrames( |
94 base::TimeDelta::FromSeconds(1), k48kHz)); | 96 base::TimeDelta::FromSeconds(1), k48kHz)); |
95 // Argument and return value exceeding 32 bits. | 97 // Argument and return value exceeding 32 bits. |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 // tested above to verify that the code is rounding properly. | 171 // tested above to verify that the code is rounding properly. |
170 TestGetFramesToTargetRange(0, 103, 124); | 172 TestGetFramesToTargetRange(0, 103, 124); |
171 TestGetFramesToTargetRange(-1, 80, 102); | 173 TestGetFramesToTargetRange(-1, 80, 102); |
172 TestGetFramesToTargetRange(-2, 57, 79); | 174 TestGetFramesToTargetRange(-2, 57, 79); |
173 TestGetFramesToTargetRange(-3, 35, 56); | 175 TestGetFramesToTargetRange(-3, 35, 56); |
174 TestGetFramesToTargetRange(-4, 12, 34); | 176 TestGetFramesToTargetRange(-4, 12, 34); |
175 TestGetFramesToTargetRange(-5, 0, 11); | 177 TestGetFramesToTargetRange(-5, 0, 11); |
176 } | 178 } |
177 | 179 |
178 } // namespace media | 180 } // namespace media |
OLD | NEW |