// Counts number of uniquely seen frames (aka pictures, aka temporal units) // identified by their rtp timestamp. class UniqueTimestampCounter { public:
UniqueTimestampCounter();
UniqueTimestampCounter(const UniqueTimestampCounter&) = delete;
UniqueTimestampCounter& operator=(const UniqueTimestampCounter&) = delete;
~UniqueTimestampCounter() = default;
void Add(uint32_t timestamp); // Returns number of different `timestamp` passed to the UniqueCounter. int GetUniqueSeen() const { return unique_seen_; }
private: int unique_seen_ = 0; // Stores several last seen unique values for quick search.
std::set<uint32_t> search_index_; // The same unique values in the circular buffer in the insertion order.
std::unique_ptr<uint32_t[]> latest_; // Last inserted value for optimization purpose.
int64_t last_ = -1;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.