Index: webrtc/base/timeutils.cc |
diff --git a/webrtc/base/timeutils.cc b/webrtc/base/timeutils.cc |
index 24b04ee2ee46342c1551901309042f8f4438955a..0d7273299efdd213498540faedb9f00d1b81cd9c 100644 |
--- a/webrtc/base/timeutils.cc |
+++ b/webrtc/base/timeutils.cc |
@@ -200,10 +200,12 @@ int64_t TimestampWrapAroundHandler::Unwrap(uint32_t ts) { |
if (last_ts_ > 0xf0000000 && ts < 0x0fffffff) { |
++num_wrap_; |
} |
+ } else if (num_wrap_ > 0 && (ts - last_ts_) >= 0x0fffffff) { |
+ // Backwards wrap. Unwrap with last wrap count and don't update last_ts_. |
+ return ts + ((num_wrap_ -1) << 32); |
mflodman
2016/03/09 15:01:57
Functionality LG, but can this be written in an ea
sprang_webrtc
2016/03/09 15:40:30
Not without duplicating "last_ts = ts" or adding a
|
} |
last_ts_ = ts; |
- int64_t unwrapped_ts = ts + (num_wrap_ << 32); |
- return unwrapped_ts; |
+ return ts + (num_wrap_ << 32); |
} |
int64_t TmToSeconds(const std::tm& tm) { |