Index: media/cast/rtp_timestamp_helper.h |
diff --git a/media/cast/rtp_timestamp_helper.h b/media/cast/rtp_timestamp_helper.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..b9c650c506317064c333357c83c1d44a40ab1d7d |
--- /dev/null |
+++ b/media/cast/rtp_timestamp_helper.h |
@@ -0,0 +1,41 @@ |
+// 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_RTP_TIMESTAMP_HELPER_H_ |
+#define MEDIA_CAST_RTP_TIMESTAMP_HELPER_H_ |
+ |
+#include "base/basictypes.h" |
+#include "base/time/time.h" |
+ |
+namespace media { |
+namespace cast { |
+ |
+// A helper class used to convert current time ticks into RTP timestamp. |
+class RtpTimestampHelper { |
+ public: |
+ explicit RtpTimestampHelper(int frequency); |
+ ~RtpTimestampHelper(); |
+ |
+ // Compute a RTP timestamp using current time, last encoded time and |
+ // last encoded RTP timestamp. |
+ // Return true if |rtp_timestamp| is computed. |
+ bool GetCurrentTimeAsRtpTimestamp(const base::TimeTicks& now, |
+ uint32* rtp_timestamp) const; |
+ |
+ // Store the capture time and the corresponding RTP timestamp for the |
+ // last encoded frame. |
+ void StoreLatestTime(base::TimeTicks capture_time, uint32 rtp_timestamp); |
+ |
+ private: |
+ int frequency_; |
+ base::TimeTicks last_capture_time_; |
+ uint32 last_rtp_timestamp_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(RtpTimestampHelper); |
+}; |
+ |
+} // namespace cast |
+} // namespace media |
+ |
+#endif // MEDIA_CAST_CAST_DEFINES_H_ |