Change rtc::TimeNanos and rtc::TimeMicros return value from uint64_t to int64_t.
Also updated types close to call sites.
BUG=webrtc:6733
Review-Url: https://codereview.webrtc.org/2514553003
Cr-Commit-Position: refs/heads/master@{#15255}
diff --git a/webrtc/api/stats/rtcstatsreport.h b/webrtc/api/stats/rtcstatsreport.h
index 05bc529..32514e7 100644
--- a/webrtc/api/stats/rtcstatsreport.h
+++ b/webrtc/api/stats/rtcstatsreport.h
@@ -52,12 +52,12 @@
// TODO(hbos): Remove "= 0" once Chromium unittest has been updated to call
// with a parameter. crbug.com/627816
- static rtc::scoped_refptr<RTCStatsReport> Create(uint64_t timestamp_us = 0);
+ static rtc::scoped_refptr<RTCStatsReport> Create(int64_t timestamp_us = 0);
- explicit RTCStatsReport(uint64_t timestamp_us);
+ explicit RTCStatsReport(int64_t timestamp_us);
RTCStatsReport(const RTCStatsReport& other) = delete;
- uint64_t timestamp_us() const { return timestamp_us_; }
+ int64_t timestamp_us() const { return timestamp_us_; }
bool AddStats(std::unique_ptr<const RTCStats> stats);
const RTCStats* Get(const std::string& id) const;
size_t size() const { return stats_.size(); }
@@ -90,7 +90,7 @@
private:
~RTCStatsReport() override;
- uint64_t timestamp_us_;
+ int64_t timestamp_us_;
StatsMap stats_;
};
diff --git a/webrtc/base/fakeclock.cc b/webrtc/base/fakeclock.cc
index bcd720f..d95408f 100644
--- a/webrtc/base/fakeclock.cc
+++ b/webrtc/base/fakeclock.cc
@@ -15,12 +15,12 @@
namespace rtc {
-uint64_t FakeClock::TimeNanos() const {
+int64_t FakeClock::TimeNanos() const {
CritScope cs(&lock_);
return time_;
}
-void FakeClock::SetTimeNanos(uint64_t nanos) {
+void FakeClock::SetTimeNanos(int64_t nanos) {
{
CritScope cs(&lock_);
RTC_DCHECK(nanos >= time_);
diff --git a/webrtc/base/fakeclock.h b/webrtc/base/fakeclock.h
index 4aecc54..7fa1015 100644
--- a/webrtc/base/fakeclock.h
+++ b/webrtc/base/fakeclock.h
@@ -26,18 +26,18 @@
~FakeClock() override {}
// ClockInterface implementation.
- uint64_t TimeNanos() const override;
+ int64_t TimeNanos() const override;
// Methods that can be used by the test to control the time.
// Should only be used to set a time in the future.
- void SetTimeNanos(uint64_t nanos);
+ void SetTimeNanos(int64_t nanos);
void AdvanceTime(TimeDelta delta);
private:
CriticalSection lock_;
- uint64_t time_ GUARDED_BY(lock_) = 0u;
+ int64_t time_ GUARDED_BY(lock_) = 0;
};
// Helper class that sets itself as the global clock in its constructor and
diff --git a/webrtc/base/opensslstreamadapter.cc b/webrtc/base/opensslstreamadapter.cc
index 5a7560e..6943cd3 100644
--- a/webrtc/base/opensslstreamadapter.cc
+++ b/webrtc/base/opensslstreamadapter.cc
@@ -64,7 +64,7 @@
#ifdef OPENSSL_IS_BORINGSSL
static void TimeCallback(const SSL* ssl, struct timeval* out_clock) {
- uint64_t time = TimeNanos();
+ int64_t time = TimeNanos();
out_clock->tv_sec = time / kNumNanosecsPerSec;
out_clock->tv_usec = (time % kNumNanosecsPerSec) / kNumNanosecsPerMicrosec;
}
diff --git a/webrtc/base/socket_unittest.cc b/webrtc/base/socket_unittest.cc
index 5dc5251..16edf90 100644
--- a/webrtc/base/socket_unittest.cc
+++ b/webrtc/base/socket_unittest.cc
@@ -1038,7 +1038,7 @@
EXPECT_EQ(0, socket->Bind(SocketAddress(loopback, 0)));
SocketAddress address = socket->GetLocalAddress();
- uint64_t send_time_1 = TimeMicros();
+ int64_t send_time_1 = TimeMicros();
socket->SendTo("foo", 3, address);
int64_t recv_timestamp_1;
char buffer[3];
@@ -1048,7 +1048,7 @@
const int64_t kTimeBetweenPacketsMs = 100;
Thread::SleepMs(kTimeBetweenPacketsMs);
- uint64_t send_time_2 = TimeMicros();
+ int64_t send_time_2 = TimeMicros();
socket->SendTo("bar", 3, address);
int64_t recv_timestamp_2;
socket->RecvFrom(buffer, 3, nullptr, &recv_timestamp_2);
diff --git a/webrtc/base/timeutils.cc b/webrtc/base/timeutils.cc
index 658d079..c424f70 100644
--- a/webrtc/base/timeutils.cc
+++ b/webrtc/base/timeutils.cc
@@ -39,7 +39,7 @@
return prev;
}
-uint64_t SystemTimeNanos() {
+int64_t SystemTimeNanos() {
int64_t ticks;
#if defined(WEBRTC_MAC)
static mach_timebase_info_data_t timebase;
@@ -88,7 +88,7 @@
return static_cast<int64_t>(SystemTimeNanos() / kNumNanosecsPerMillisec);
}
-uint64_t TimeNanos() {
+int64_t TimeNanos() {
if (g_clock) {
return g_clock->TimeNanos();
}
@@ -100,11 +100,11 @@
}
int64_t TimeMillis() {
- return static_cast<int64_t>(TimeNanos() / kNumNanosecsPerMillisec);
+ return TimeNanos() / kNumNanosecsPerMillisec;
}
-uint64_t TimeMicros() {
- return static_cast<uint64_t>(TimeNanos() / kNumNanosecsPerMicrosec);
+int64_t TimeMicros() {
+ return TimeNanos() / kNumNanosecsPerMicrosec;
}
int64_t TimeAfter(int64_t elapsed) {
diff --git a/webrtc/base/timeutils.h b/webrtc/base/timeutils.h
index cc6deb4..f41bbb5 100644
--- a/webrtc/base/timeutils.h
+++ b/webrtc/base/timeutils.h
@@ -34,7 +34,7 @@
class ClockInterface {
public:
virtual ~ClockInterface() {}
- virtual uint64_t TimeNanos() const = 0;
+ virtual int64_t TimeNanos() const = 0;
};
// Sets the global source of time. This is useful mainly for unit tests.
@@ -55,7 +55,7 @@
// Returns the actual system time, even if a clock is set for testing.
// Useful for timeouts while using a test clock, or for logging.
-uint64_t SystemTimeNanos();
+int64_t SystemTimeNanos();
int64_t SystemTimeMillis();
// Returns the current time in milliseconds in 32 bits.
@@ -69,10 +69,11 @@
}
// Returns the current time in microseconds.
-uint64_t TimeMicros();
+int64_t TimeMicros();
// Returns the current time in nanoseconds.
-uint64_t TimeNanos();
+int64_t TimeNanos();
+
// Returns a future timestamp, 'elapsed' milliseconds from now.
int64_t TimeAfter(int64_t elapsed);
@@ -88,7 +89,7 @@
}
// The number of milliseconds that will elapse between now and 'later'.
-inline int64_t TimeUntil(uint64_t later) {
+inline int64_t TimeUntil(int64_t later) {
return later - TimeMillis();
}
diff --git a/webrtc/base/timeutils_unittest.cc b/webrtc/base/timeutils_unittest.cc
index 6707d8c..db939cb 100644
--- a/webrtc/base/timeutils_unittest.cc
+++ b/webrtc/base/timeutils_unittest.cc
@@ -303,11 +303,11 @@
FakeClock clock;
SetClockForTesting(&clock);
- clock.SetTimeNanos(987654321u);
+ clock.SetTimeNanos(987654321);
EXPECT_EQ(987u, Time32());
EXPECT_EQ(987, TimeMillis());
- EXPECT_EQ(987654u, TimeMicros());
- EXPECT_EQ(987654321u, TimeNanos());
+ EXPECT_EQ(987654, TimeMicros());
+ EXPECT_EQ(987654321, TimeNanos());
EXPECT_EQ(1000u, TimeAfter(13));
SetClockForTesting(nullptr);
@@ -317,27 +317,27 @@
TEST(FakeClock, InitialTime) {
FakeClock clock;
- EXPECT_EQ(0u, clock.TimeNanos());
+ EXPECT_EQ(0, clock.TimeNanos());
}
TEST(FakeClock, SetTimeNanos) {
FakeClock clock;
- clock.SetTimeNanos(123u);
- EXPECT_EQ(123u, clock.TimeNanos());
- clock.SetTimeNanos(456u);
- EXPECT_EQ(456u, clock.TimeNanos());
+ clock.SetTimeNanos(123);
+ EXPECT_EQ(123, clock.TimeNanos());
+ clock.SetTimeNanos(456);
+ EXPECT_EQ(456, clock.TimeNanos());
}
TEST(FakeClock, AdvanceTime) {
FakeClock clock;
clock.AdvanceTime(TimeDelta::FromNanoseconds(1111u));
- EXPECT_EQ(1111u, clock.TimeNanos());
+ EXPECT_EQ(1111, clock.TimeNanos());
clock.AdvanceTime(TimeDelta::FromMicroseconds(2222u));
- EXPECT_EQ(2223111u, clock.TimeNanos());
+ EXPECT_EQ(2223111, clock.TimeNanos());
clock.AdvanceTime(TimeDelta::FromMilliseconds(3333u));
- EXPECT_EQ(3335223111u, clock.TimeNanos());
+ EXPECT_EQ(3335223111, clock.TimeNanos());
clock.AdvanceTime(TimeDelta::FromSeconds(4444u));
- EXPECT_EQ(4447335223111u, clock.TimeNanos());
+ EXPECT_EQ(4447335223111, clock.TimeNanos());
}
// When the clock is advanced, threads that are waiting in a socket select
diff --git a/webrtc/modules/audio_device/audio_device_buffer.cc b/webrtc/modules/audio_device/audio_device_buffer.cc
index d40b05e..8310917 100644
--- a/webrtc/modules/audio_device/audio_device_buffer.cc
+++ b/webrtc/modules/audio_device/audio_device_buffer.cc
@@ -111,7 +111,7 @@
if (!recording_) {
StartPeriodicLogging();
}
- const uint64_t now_time = rtc::TimeMillis();
+ const int64_t now_time = rtc::TimeMillis();
// Clear members that are only touched on the main (creating) thread.
play_start_time_ = now_time;
playing_ = true;
diff --git a/webrtc/modules/audio_device/audio_device_buffer.h b/webrtc/modules/audio_device/audio_device_buffer.h
index 167ebd2..e2c6f28 100644
--- a/webrtc/modules/audio_device/audio_device_buffer.h
+++ b/webrtc/modules/audio_device/audio_device_buffer.h
@@ -220,7 +220,7 @@
int16_t max_play_level_ ACCESS_ON(task_queue_);
// Time stamp of last timer task (drives logging).
- uint64_t last_timer_task_time_ ACCESS_ON(task_queue_);
+ int64_t last_timer_task_time_ ACCESS_ON(task_queue_);
// Counts number of audio callbacks modulo 50 to create a signal when
// a new storage of audio stats shall be done.
@@ -228,8 +228,8 @@
int16_t play_stat_count_ ACCESS_ON(playout_thread_checker_);
// Time stamps of when playout and recording starts.
- uint64_t play_start_time_ ACCESS_ON(main_thread_checker_);
- uint64_t rec_start_time_ ACCESS_ON(main_thread_checker_);
+ int64_t play_start_time_ ACCESS_ON(main_thread_checker_);
+ int64_t rec_start_time_ ACCESS_ON(main_thread_checker_);
// Set to true at construction and modified to false as soon as one audio-
// level estimate larger than zero is detected.
diff --git a/webrtc/modules/video_capture/test/video_capture_unittest.cc b/webrtc/modules/video_capture/test/video_capture_unittest.cc
index 0090006..0f9f0ae 100644
--- a/webrtc/modules/video_capture/test/video_capture_unittest.cc
+++ b/webrtc/modules/video_capture/test/video_capture_unittest.cc
@@ -472,8 +472,8 @@
#define MAYBE_FrameRate FrameRate
#endif
TEST_F(VideoCaptureExternalTest, MAYBE_FrameRate) {
- uint64_t testTime = 3 * rtc::kNumNanosecsPerSec;
- uint64_t startTime = rtc::TimeNanos();
+ int64_t testTime = 3 * rtc::kNumNanosecsPerSec;
+ int64_t startTime = rtc::TimeNanos();
while ((rtc::TimeNanos() - startTime) < testTime) {
size_t length = webrtc::CalcBufferSize(webrtc::kI420,
diff --git a/webrtc/modules/video_coding/codecs/test/videoprocessor.cc b/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
index aaf29eb..63f0a87 100644
--- a/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
+++ b/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
@@ -385,9 +385,9 @@
int VideoProcessorImpl::GetElapsedTimeMicroseconds(int64_t start,
int64_t stop) {
- uint64_t encode_time = (stop - start) / rtc::kNumNanosecsPerMicrosec;
- RTC_DCHECK_LT(encode_time,
- static_cast<unsigned int>(std::numeric_limits<int>::max()));
+ int64_t encode_time = (stop - start) / rtc::kNumNanosecsPerMicrosec;
+ RTC_DCHECK_GE(encode_time, std::numeric_limits<int>::min());
+ RTC_DCHECK_LE(encode_time, std::numeric_limits<int>::max());
return static_cast<int>(encode_time);
}
diff --git a/webrtc/stats/rtcstatsreport.cc b/webrtc/stats/rtcstatsreport.cc
index 9e2244c..3dd6eff 100644
--- a/webrtc/stats/rtcstatsreport.cc
+++ b/webrtc/stats/rtcstatsreport.cc
@@ -57,12 +57,12 @@
}
rtc::scoped_refptr<RTCStatsReport> RTCStatsReport::Create(
- uint64_t timestamp_us) {
+ int64_t timestamp_us) {
return rtc::scoped_refptr<RTCStatsReport>(
new rtc::RefCountedObject<RTCStatsReport>(timestamp_us));
}
-RTCStatsReport::RTCStatsReport(uint64_t timestamp_us)
+RTCStatsReport::RTCStatsReport(int64_t timestamp_us)
: timestamp_us_(timestamp_us) {
}