From d8b6b06e70718e4fd9bde65d6c5951860e7affae Mon Sep 17 00:00:00 2001 From: Evan Shrubsole Date: Thu, 12 Jan 2023 12:28:10 +0000 Subject: [PATCH] [Unwrap] Delete rtc::TimestampWrapAroundHandler Bug: webrtc:13982 Change-Id: Ia2999e952a55d97dbd69ff19cf12c8f712b1a62f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290882 Commit-Queue: Evan Shrubsole Reviewed-by: Harald Alvestrand Cr-Commit-Position: refs/heads/main@{#39087} --- rtc_base/time_utils.cc | 22 -------------- rtc_base/time_utils.h | 11 ------- rtc_base/time_utils_unittest.cc | 53 --------------------------------- 3 files changed, 86 deletions(-) diff --git a/rtc_base/time_utils.cc b/rtc_base/time_utils.cc index 96282f06cf..78434536e1 100644 --- a/rtc_base/time_utils.cc +++ b/rtc_base/time_utils.cc @@ -175,28 +175,6 @@ int64_t TimeDiff(int64_t later, int64_t earlier) { return later - earlier; } -TimestampWrapAroundHandler::TimestampWrapAroundHandler() - : last_ts_(0), num_wrap_(-1) {} - -int64_t TimestampWrapAroundHandler::Unwrap(uint32_t ts) { - if (num_wrap_ == -1) { - last_ts_ = ts; - num_wrap_ = 0; - return ts; - } - - if (ts < last_ts_) { - if (last_ts_ >= 0xf0000000 && ts < 0x0fffffff) - ++num_wrap_; - } else if ((ts - last_ts_) > 0xf0000000) { - // Backwards wrap. Unwrap with last wrap count and don't update last_ts_. - return ts + (num_wrap_ - 1) * (int64_t{1} << 32); - } - - last_ts_ = ts; - return ts + (num_wrap_ << 32); -} - int64_t TmToSeconds(const tm& tm) { static short int mdays[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; static short int cumul_mdays[12] = {0, 31, 59, 90, 120, 151, diff --git a/rtc_base/time_utils.h b/rtc_base/time_utils.h index 6a3cfda3d1..271c1d6e93 100644 --- a/rtc_base/time_utils.h +++ b/rtc_base/time_utils.h @@ -114,17 +114,6 @@ inline int64_t TimeUntil(int64_t later) { return later - TimeMillis(); } -class TimestampWrapAroundHandler { - public: - TimestampWrapAroundHandler(); - - int64_t Unwrap(uint32_t ts); - - private: - uint32_t last_ts_; - int64_t num_wrap_; -}; - // Convert from tm, which is relative to 1900-01-01 00:00 to number of // seconds from 1970-01-01 00:00 ("epoch"). Don't return time_t since that // is still 32 bits on many systems. diff --git a/rtc_base/time_utils_unittest.cc b/rtc_base/time_utils_unittest.cc index abd44660b2..09fb816636 100644 --- a/rtc_base/time_utils_unittest.cc +++ b/rtc_base/time_utils_unittest.cc @@ -63,59 +63,6 @@ TEST(TimeTest, TestTimeDiff64) { EXPECT_EQ(-ts_diff, rtc::TimeDiff(ts_earlier, ts_later)); } -class TimestampWrapAroundHandlerTest : public ::testing::Test { - public: - TimestampWrapAroundHandlerTest() {} - - protected: - TimestampWrapAroundHandler wraparound_handler_; -}; - -TEST_F(TimestampWrapAroundHandlerTest, Unwrap) { - // Start value. - int64_t ts = 2; - EXPECT_EQ(ts, - wraparound_handler_.Unwrap(static_cast(ts & 0xffffffff))); - - // Wrap backwards. - ts = -2; - EXPECT_EQ(ts, - wraparound_handler_.Unwrap(static_cast(ts & 0xffffffff))); - - // Forward to 2 again. - ts = 2; - EXPECT_EQ(ts, - wraparound_handler_.Unwrap(static_cast(ts & 0xffffffff))); - - // Max positive skip ahead, until max value (0xffffffff). - for (uint32_t i = 0; i <= 0xf; ++i) { - ts = (i << 28) + 0x0fffffff; - EXPECT_EQ( - ts, wraparound_handler_.Unwrap(static_cast(ts & 0xffffffff))); - } - - // Wrap around. - ts += 2; - EXPECT_EQ(ts, - wraparound_handler_.Unwrap(static_cast(ts & 0xffffffff))); - - // Max wrap backward... - ts -= 0x0fffffff; - EXPECT_EQ(ts, - wraparound_handler_.Unwrap(static_cast(ts & 0xffffffff))); - - // ...and back again. - ts += 0x0fffffff; - EXPECT_EQ(ts, - wraparound_handler_.Unwrap(static_cast(ts & 0xffffffff))); -} - -TEST_F(TimestampWrapAroundHandlerTest, NoNegativeStart) { - int64_t ts = 0xfffffff0; - EXPECT_EQ(ts, - wraparound_handler_.Unwrap(static_cast(ts & 0xffffffff))); -} - class TmToSeconds : public ::testing::Test { public: TmToSeconds() {