Index: media/cast/logging/receiver_time_offset_estimator.h |
diff --git a/media/cast/logging/receiver_time_offset_estimator.h b/media/cast/logging/receiver_time_offset_estimator.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6bf195ba384a5530e704f438c9ea6cf7004f3838 |
--- /dev/null |
+++ b/media/cast/logging/receiver_time_offset_estimator.h |
@@ -0,0 +1,39 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef MEDIA_CAST_LOGGING_RECEIVER_TIME_OFFSET_ESTIMATOR_H_ |
+#define MEDIA_CAST_LOGGING_RECEIVER_TIME_OFFSET_ESTIMATOR_H_ |
+ |
+#include "base/time/time.h" |
+#include "media/cast/logging/raw_event_subscriber.h" |
+ |
+namespace media { |
+namespace cast { |
+ |
+// Estimates receiver time offset based on raw events received. |
+// In most cases, the sender and receiver run on different time lines. |
+// In order to convert receiver time back to sender time (or vice versa) |
+// a certain time offset has to be applied. |
+// This interface listens to raw events to figure out the bounds for the |
miu
2014/04/17 02:14:14
s/This interface listens to/An implementation of t
imcheng
2014/04/17 19:19:06
Done.
|
+// offset value (assuming the true offset value is constant over the lifetime of |
+// a cast session). |
+// The offset values provided here should be used as follows: |
+// - Convert from sender to receiver time: add offset value to sender timestamp. |
+// - Convert from receiver to sender time: receiver offset value from receiver |
miu
2014/04/17 02:14:14
s/receiver offset/subtract offset/
imcheng
2014/04/17 19:19:06
Done.
|
+// timestamp. |
+class ReceiverTimeOffsetEstimator : public RawEventSubscriber { |
+ public: |
+ virtual ~ReceiverTimeOffsetEstimator() {} |
+ |
+ // If bounds are known, assigns |lower_bound| and |upper_bound| with the |
+ // lower bound and upper bound for the offset value, respectively. |
+ // Returns true if bounds are known. |
+ virtual bool GetReceiverOffsetBounds(base::TimeDelta* lower_bound, |
+ base::TimeDelta* upper_bound) = 0; |
+}; |
+ |
+} // namespace cast |
+} // namespace media |
+ |
+#endif // MEDIA_CAST_LOGGING_RECEIVER_TIME_OFFSET_ESTIMATOR_H_ |