OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <memory> | 5 #include <memory> |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "base/test/simple_test_tick_clock.h" | 8 #include "base/test/simple_test_tick_clock.h" |
9 #include "media/base/wall_clock_time_source.h" | 9 #include "media/base/wall_clock_time_source.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 EXPECT_EQ(100, CurrentMediaTimeInSeconds()); | 82 EXPECT_EQ(100, CurrentMediaTimeInSeconds()); |
83 EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(100)); | 83 EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(100)); |
84 } | 84 } |
85 | 85 |
86 TEST_F(WallClockTimeSourceTest, SetMediaTime) { | 86 TEST_F(WallClockTimeSourceTest, SetMediaTime) { |
87 EXPECT_EQ(0, CurrentMediaTimeInSeconds()); | 87 EXPECT_EQ(0, CurrentMediaTimeInSeconds()); |
88 EXPECT_TRUE(IsTimeStopped()); | 88 EXPECT_TRUE(IsTimeStopped()); |
89 SetMediaTimeInSeconds(10); | 89 SetMediaTimeInSeconds(10); |
90 EXPECT_EQ(10, CurrentMediaTimeInSeconds()); | 90 EXPECT_EQ(10, CurrentMediaTimeInSeconds()); |
91 EXPECT_TRUE(IsTimeStopped()); | 91 EXPECT_TRUE(IsTimeStopped()); |
| 92 std::vector<base::TimeTicks> wall_clock_times; |
| 93 time_source_.GetWallClockTimes(std::vector<base::TimeDelta>(), |
| 94 &wall_clock_times); |
| 95 EXPECT_EQ(base::TimeTicks(), wall_clock_times[0]); |
92 } | 96 } |
93 | 97 |
94 TEST_F(WallClockTimeSourceTest, SetPlaybackRate) { | 98 TEST_F(WallClockTimeSourceTest, SetPlaybackRate) { |
95 time_source_.StartTicking(); | 99 time_source_.StartTicking(); |
96 | 100 |
97 time_source_.SetPlaybackRate(0.5); | 101 time_source_.SetPlaybackRate(0.5); |
98 EXPECT_EQ(0, CurrentMediaTimeInSeconds()); | 102 EXPECT_EQ(0, CurrentMediaTimeInSeconds()); |
99 EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(0)); | 103 EXPECT_TRUE(IsWallClockNowForMediaTimeInSeconds(0)); |
100 AdvanceTimeInSeconds(10); | 104 AdvanceTimeInSeconds(10); |
101 EXPECT_EQ(5, CurrentMediaTimeInSeconds()); | 105 EXPECT_EQ(5, CurrentMediaTimeInSeconds()); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 std::vector<base::TimeDelta>(), &wall_clock_times); | 160 std::vector<base::TimeDelta>(), &wall_clock_times); |
157 EXPECT_TRUE(is_time_moving); | 161 EXPECT_TRUE(is_time_moving); |
158 EXPECT_EQ(tick_clock_->NowTicks(), wall_clock_times[0]); | 162 EXPECT_EQ(tick_clock_->NowTicks(), wall_clock_times[0]); |
159 | 163 |
160 wall_clock_times.clear(); | 164 wall_clock_times.clear(); |
161 time_source_.StopTicking(); | 165 time_source_.StopTicking(); |
162 is_time_moving = time_source_.GetWallClockTimes( | 166 is_time_moving = time_source_.GetWallClockTimes( |
163 std::vector<base::TimeDelta>(), &wall_clock_times); | 167 std::vector<base::TimeDelta>(), &wall_clock_times); |
164 EXPECT_FALSE(is_time_moving); | 168 EXPECT_FALSE(is_time_moving); |
165 EXPECT_EQ(tick_clock_->NowTicks(), wall_clock_times[0]); | 169 EXPECT_EQ(tick_clock_->NowTicks(), wall_clock_times[0]); |
| 170 |
| 171 // Setting media time should clear reference time. |
| 172 SetMediaTimeInSeconds(5); |
| 173 wall_clock_times.clear(); |
| 174 is_time_moving = time_source_.GetWallClockTimes( |
| 175 std::vector<base::TimeDelta>(), &wall_clock_times); |
| 176 EXPECT_FALSE(is_time_moving); |
| 177 EXPECT_EQ(base::TimeTicks(), wall_clock_times[0]); |
166 } | 178 } |
167 | 179 |
168 } // namespace media | 180 } // namespace media |
OLD | NEW |