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

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

Issue 2997883002: Video/Screenshare loopback tool.
Patch Set: Rebase Created 3 years, 3 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
« no previous file with comments | « webrtc/system_wrappers/include/clock.h ('k') | webrtc/test/call_test.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/rtc_base/win32.h" 15 #include "webrtc/rtc_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 <sstream>
23
22 #include "webrtc/rtc_base/criticalsection.h" 24 #include "webrtc/rtc_base/criticalsection.h"
23 #include "webrtc/rtc_base/timeutils.h" 25 #include "webrtc/rtc_base/timeutils.h"
24 #include "webrtc/system_wrappers/include/rw_lock_wrapper.h" 26 #include "webrtc/system_wrappers/include/rw_lock_wrapper.h"
25 27
28 extern int64_t start_time;
29
30 void Print(const char* fmt, ...) {
31 const static int kBufferSize = 5000;
32 char buffer[kBufferSize];
33 int64_t now_ms = webrtc::Clock::GetRealTimeClock()->TimeInMilliseconds();
34 if (start_time == -1)
35 start_time = now_ms;
36
37 int bytes_written;
38 bytes_written = snprintf(buffer, kBufferSize, "%8ld - ", now_ms - start_time);
39 va_list args;
40 va_start(args, fmt);
41 bytes_written +=
42 vsnprintf(buffer + bytes_written, kBufferSize - bytes_written, fmt, args);
43 assert(bytes_written < kBufferSize);
44 va_end(args);
45 printf("%s\n", buffer);
46 }
47
26 namespace webrtc { 48 namespace webrtc {
27 49
28 class RealTimeClock : public Clock { 50 class RealTimeClock : public Clock {
29 // Return a timestamp in milliseconds relative to some arbitrary source; the 51 // Return a timestamp in milliseconds relative to some arbitrary source; the
30 // source is fixed for this clock. 52 // source is fixed for this clock.
31 int64_t TimeInMilliseconds() const override { 53 int64_t TimeInMilliseconds() const override {
32 return rtc::TimeMillis(); 54 return rtc::TimeMillis();
33 } 55 }
34 56
35 // Return a timestamp in microseconds relative to some arbitrary source; the 57 // Return a timestamp in microseconds relative to some arbitrary source; the
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
257 void SimulatedClock::AdvanceTimeMilliseconds(int64_t milliseconds) { 279 void SimulatedClock::AdvanceTimeMilliseconds(int64_t milliseconds) {
258 AdvanceTimeMicroseconds(1000 * milliseconds); 280 AdvanceTimeMicroseconds(1000 * milliseconds);
259 } 281 }
260 282
261 void SimulatedClock::AdvanceTimeMicroseconds(int64_t microseconds) { 283 void SimulatedClock::AdvanceTimeMicroseconds(int64_t microseconds) {
262 WriteLockScoped synchronize(*lock_); 284 WriteLockScoped synchronize(*lock_);
263 time_us_ += microseconds; 285 time_us_ += microseconds;
264 } 286 }
265 287
266 }; // namespace webrtc 288 }; // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/system_wrappers/include/clock.h ('k') | webrtc/test/call_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698