1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #ifndef MODULES_VIDEO_CODING_UNIQUE_TIMESTAMP_COUNTER_H_
- #define MODULES_VIDEO_CODING_UNIQUE_TIMESTAMP_COUNTER_H_
- #include <cstdint>
- #include <memory>
- #include <set>
- namespace webrtc {
- class UniqueTimestampCounter {
- public:
- UniqueTimestampCounter();
- UniqueTimestampCounter(const UniqueTimestampCounter&) = delete;
- UniqueTimestampCounter& operator=(const UniqueTimestampCounter&) = delete;
- ~UniqueTimestampCounter() = default;
- void Add(uint32_t timestamp);
-
- int GetUniqueSeen() const { return unique_seen_; }
- private:
- int unique_seen_ = 0;
-
- std::set<uint32_t> search_index_;
-
- std::unique_ptr<uint32_t[]> latest_;
-
- int64_t last_ = -1;
- };
- }
- #endif
|