mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00
[Unwrap] Delete rtc::TimestampWrapAroundHandler
Bug: webrtc:13982 Change-Id: Ia2999e952a55d97dbd69ff19cf12c8f712b1a62f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290882 Commit-Queue: Evan Shrubsole <eshr@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39087}
This commit is contained in:
parent
83fd843535
commit
d8b6b06e70
3 changed files with 0 additions and 86 deletions
|
@ -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,
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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<uint32_t>(ts & 0xffffffff)));
|
||||
|
||||
// Wrap backwards.
|
||||
ts = -2;
|
||||
EXPECT_EQ(ts,
|
||||
wraparound_handler_.Unwrap(static_cast<uint32_t>(ts & 0xffffffff)));
|
||||
|
||||
// Forward to 2 again.
|
||||
ts = 2;
|
||||
EXPECT_EQ(ts,
|
||||
wraparound_handler_.Unwrap(static_cast<uint32_t>(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<uint32_t>(ts & 0xffffffff)));
|
||||
}
|
||||
|
||||
// Wrap around.
|
||||
ts += 2;
|
||||
EXPECT_EQ(ts,
|
||||
wraparound_handler_.Unwrap(static_cast<uint32_t>(ts & 0xffffffff)));
|
||||
|
||||
// Max wrap backward...
|
||||
ts -= 0x0fffffff;
|
||||
EXPECT_EQ(ts,
|
||||
wraparound_handler_.Unwrap(static_cast<uint32_t>(ts & 0xffffffff)));
|
||||
|
||||
// ...and back again.
|
||||
ts += 0x0fffffff;
|
||||
EXPECT_EQ(ts,
|
||||
wraparound_handler_.Unwrap(static_cast<uint32_t>(ts & 0xffffffff)));
|
||||
}
|
||||
|
||||
TEST_F(TimestampWrapAroundHandlerTest, NoNegativeStart) {
|
||||
int64_t ts = 0xfffffff0;
|
||||
EXPECT_EQ(ts,
|
||||
wraparound_handler_.Unwrap(static_cast<uint32_t>(ts & 0xffffffff)));
|
||||
}
|
||||
|
||||
class TmToSeconds : public ::testing::Test {
|
||||
public:
|
||||
TmToSeconds() {
|
||||
|
|
Loading…
Reference in a new issue