OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "media/cast/cast_ntp_tick_clock.h" | |
6 | |
7 namespace media { | |
8 namespace cast { | |
9 | |
10 // Network Time Protocol (NTP), which is in seconds relative to 0h UTC on | |
11 // 1 January 1900. | |
12 static const int64 kNtpEpochDeltaSeconds = GG_INT64_C(9435484800); | |
13 | |
14 CastNtpTickClock::CastNtpTickClock() | |
15 : tick_clock_(&default_tick_clock_) { | |
16 // Start time in NTP time; which have its epoch at year 1900. | |
17 base::Time start_time_ntp = | |
18 base::Time::Now() - base::TimeDelta::FromSeconds(kNtpEpochDeltaSeconds); | |
19 | |
20 base::TimeTicks start_time_ntp_in_ticks = | |
21 base::TimeTicks::FromInternalValue(start_time_ntp.ToInternalValue()); | |
22 | |
23 start_offset_ = start_time_ntp_in_ticks - base::TimeTicks::Now(); | |
24 } | |
25 | |
26 CastNtpTickClock::~CastNtpTickClock() {} | |
27 | |
28 void CastNtpTickClock::SetTickClock(base::TickClock* tick_clock) { | |
29 tick_clock_ = tick_clock; | |
miu
2013/10/23 18:24:02
start_offset_ needs to be recalculated here. Perh
pwestin
2013/10/23 21:07:49
Done.
| |
30 } | |
31 | |
32 base::TimeTicks CastNtpTickClock::NowTicks() { | |
33 return tick_clock_->NowTicks() + start_offset_; | |
34 } | |
35 | |
36 } // namespace cast | |
37 } // namespace media | |
38 | |
OLD | NEW |