| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2  *  Copyright 2004 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 | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
| 32 namespace rtc { | 32 namespace rtc { | 
| 33 | 33 | 
| 34 ClockInterface* g_clock = nullptr; | 34 ClockInterface* g_clock = nullptr; | 
| 35 | 35 | 
| 36 ClockInterface* SetClockForTesting(ClockInterface* clock) { | 36 ClockInterface* SetClockForTesting(ClockInterface* clock) { | 
| 37   ClockInterface* prev = g_clock; | 37   ClockInterface* prev = g_clock; | 
| 38   g_clock = clock; | 38   g_clock = clock; | 
| 39   return prev; | 39   return prev; | 
| 40 } | 40 } | 
| 41 | 41 | 
|  | 42 ClockInterface* GetClockForTesting() { | 
|  | 43   return g_clock; | 
|  | 44 } | 
|  | 45 | 
| 42 int64_t SystemTimeNanos() { | 46 int64_t SystemTimeNanos() { | 
| 43   int64_t ticks; | 47   int64_t ticks; | 
| 44 #if defined(WEBRTC_MAC) | 48 #if defined(WEBRTC_MAC) | 
| 45   static mach_timebase_info_data_t timebase; | 49   static mach_timebase_info_data_t timebase; | 
| 46   if (timebase.denom == 0) { | 50   if (timebase.denom == 0) { | 
| 47     // Get the timebase if this is the first time we run. | 51     // Get the timebase if this is the first time we run. | 
| 48     // Recommended by Apple's QA1398. | 52     // Recommended by Apple's QA1398. | 
| 49     if (mach_timebase_info(&timebase) != KERN_SUCCESS) { | 53     if (mach_timebase_info(&timebase) != KERN_SUCCESS) { | 
| 50       RTC_NOTREACHED(); | 54       RTC_NOTREACHED(); | 
| 51     } | 55     } | 
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 197 #elif defined(WEBRTC_WIN) | 201 #elif defined(WEBRTC_WIN) | 
| 198   struct _timeb time; | 202   struct _timeb time; | 
| 199   _ftime(&time); | 203   _ftime(&time); | 
| 200   // Convert from second (1.0) and milliseconds (1e-3). | 204   // Convert from second (1.0) and milliseconds (1e-3). | 
| 201   return (static_cast<int64_t>(time.time) * rtc::kNumMicrosecsPerSec + | 205   return (static_cast<int64_t>(time.time) * rtc::kNumMicrosecsPerSec + | 
| 202           static_cast<int64_t>(time.millitm) * rtc::kNumMicrosecsPerMillisec); | 206           static_cast<int64_t>(time.millitm) * rtc::kNumMicrosecsPerMillisec); | 
| 203 #endif | 207 #endif | 
| 204 } | 208 } | 
| 205 | 209 | 
| 206 } // namespace rtc | 210 } // namespace rtc | 
| OLD | NEW | 
|---|