Add ThreadChecker to the TimestampAligner class.

BUG=

Review-Url: https://codereview.webrtc.org/2270773002
Cr-Commit-Position: refs/heads/master@{#13882}
diff --git a/webrtc/base/timestampaligner.cc b/webrtc/base/timestampaligner.cc
index e03e4fb..6672439 100644
--- a/webrtc/base/timestampaligner.cc
+++ b/webrtc/base/timestampaligner.cc
@@ -13,11 +13,16 @@
 
 namespace rtc {
 
-TimestampAligner::TimestampAligner() : frames_seen_(0), offset_us_(0) {}
+TimestampAligner::TimestampAligner() : frames_seen_(0), offset_us_(0) {
+  thread_checker_.DetachFromThread();
+}
+
 TimestampAligner::~TimestampAligner() {}
 
 int64_t TimestampAligner::UpdateOffset(int64_t camera_time_us,
                                        int64_t system_time_us) {
+  RTC_DCHECK(thread_checker_.CalledOnValidThread());
+
   // Estimate the offset between system monotonic time and the capture
   // time from the camera. The camera is assumed to provide more
   // accurate timestamps than we get from the system time. But the
@@ -86,6 +91,8 @@
 
 int64_t TimestampAligner::ClipTimestamp(int64_t time_us,
                                         int64_t system_time_us) {
+  RTC_DCHECK(thread_checker_.CalledOnValidThread());
+
   // Make timestamps monotonic.
   if (!prev_translated_time_us_) {
     // Initialize.
diff --git a/webrtc/base/timestampaligner.h b/webrtc/base/timestampaligner.h
index 35008d3..d59c6a4 100644
--- a/webrtc/base/timestampaligner.h
+++ b/webrtc/base/timestampaligner.h
@@ -14,6 +14,7 @@
 #include "webrtc/base/basictypes.h"
 #include "webrtc/base/constructormagic.h"
 #include "webrtc/base/optional.h"
+#include "webrtc/base/thread_checker.h"
 
 namespace rtc {
 
@@ -29,6 +30,8 @@
   int64_t ClipTimestamp(int64_t filtered_time_us, int64_t system_time_us);
 
  private:
+  rtc::ThreadChecker thread_checker_;
+
   // State for the timestamp translation.
   int frames_seen_;
   // Estimated offset between camera time and system monotonic time.