Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(409)

Side by Side Diff: webrtc/system_wrappers/source/clock.cc

Issue 2393723004: replace NtpTime->Clock with Clock->NtpTime dependency (Closed)
Patch Set: . Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/system_wrappers/include/clock.h" 11 #include "webrtc/system_wrappers/include/clock.h"
12 12
13 #if defined(_WIN32) 13 #if defined(_WIN32)
14 // Windows needs to be included before mmsystem.h 14 // Windows needs to be included before mmsystem.h
15 #include "webrtc/base/win32.h" 15 #include "webrtc/base/win32.h"
16 #include <MMSystem.h> 16 #include <MMSystem.h>
17 #elif ((defined WEBRTC_LINUX) || (defined WEBRTC_MAC)) 17 #elif ((defined WEBRTC_LINUX) || (defined WEBRTC_MAC))
18 #include <sys/time.h> 18 #include <sys/time.h>
19 #include <time.h> 19 #include <time.h>
20 #endif 20 #endif
21 21
22 #include "webrtc/base/criticalsection.h" 22 #include "webrtc/base/criticalsection.h"
23 #include "webrtc/base/timeutils.h" 23 #include "webrtc/base/timeutils.h"
24 #include "webrtc/system_wrappers/include/rw_lock_wrapper.h" 24 #include "webrtc/system_wrappers/include/rw_lock_wrapper.h"
25 25
26 namespace webrtc { 26 namespace webrtc {
27 27
28 const double kNtpFracPerMs = 4.294967296E6; 28 NtpTime Clock::CurrentNtpTime() const {
29 29 uint32_t seconds;
30 int64_t Clock::NtpToMs(uint32_t ntp_secs, uint32_t ntp_frac) { 30 uint32_t fractions;
31 const double ntp_frac_ms = static_cast<double>(ntp_frac) / kNtpFracPerMs; 31 CurrentNtp(seconds, fractions);
32 return 1000 * static_cast<int64_t>(ntp_secs) + 32 return NtpTime(seconds, fractions);
33 static_cast<int64_t>(ntp_frac_ms + 0.5);
34 } 33 }
35 34
36 class RealTimeClock : public Clock { 35 class RealTimeClock : public Clock {
37 // Return a timestamp in milliseconds relative to some arbitrary source; the 36 // Return a timestamp in milliseconds relative to some arbitrary source; the
38 // source is fixed for this clock. 37 // source is fixed for this clock.
39 int64_t TimeInMilliseconds() const override { 38 int64_t TimeInMilliseconds() const override {
40 return rtc::TimeMillis(); 39 return rtc::TimeMillis();
41 } 40 }
42 41
43 // Return a timestamp in microseconds relative to some arbitrary source; the 42 // Return a timestamp in microseconds relative to some arbitrary source; the
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 void SimulatedClock::AdvanceTimeMilliseconds(int64_t milliseconds) { 261 void SimulatedClock::AdvanceTimeMilliseconds(int64_t milliseconds) {
263 AdvanceTimeMicroseconds(1000 * milliseconds); 262 AdvanceTimeMicroseconds(1000 * milliseconds);
264 } 263 }
265 264
266 void SimulatedClock::AdvanceTimeMicroseconds(int64_t microseconds) { 265 void SimulatedClock::AdvanceTimeMicroseconds(int64_t microseconds) {
267 WriteLockScoped synchronize(*lock_); 266 WriteLockScoped synchronize(*lock_);
268 time_us_ += microseconds; 267 time_us_ += microseconds;
269 } 268 }
270 269
271 }; // namespace webrtc 270 }; // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/system_wrappers/include/ntp_time.h ('k') | webrtc/system_wrappers/source/ntp_time_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698