1234567891011121314151617181920212223242526272829303132333435363738 |
- // Copyright 2014 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/cast/test/skewed_tick_clock.h"
- #include "base/time/time.h"
- namespace media {
- namespace cast {
- namespace test {
- SkewedTickClock::SkewedTickClock(const base::TickClock* clock)
- : clock_(clock),
- skew_(1.0),
- last_skew_set_time_(clock_->NowTicks()),
- skew_clock_at_last_set_(last_skew_set_time_) {}
- base::TimeTicks SkewedTickClock::SkewTicks(base::TimeTicks now) const {
- return base::Microseconds((now - last_skew_set_time_).InMicroseconds() *
- skew_) +
- skew_clock_at_last_set_;
- }
- void SkewedTickClock::SetSkew(double skew, base::TimeDelta offset) {
- base::TimeTicks now = clock_->NowTicks();
- skew_clock_at_last_set_ = SkewTicks(now) + offset;
- skew_ = skew;
- last_skew_set_time_ = now;
- }
- base::TimeTicks SkewedTickClock::NowTicks() const {
- return SkewTicks(clock_->NowTicks());
- }
- } // namespace test
- } // namespace cast
- } // namespace media
|