X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fqueue_length_policy.h;h=9a52fc13b17cb9639e669e463ef8a6a745006827;hb=a0e57ec99e9dfdd7e79bcf21e8c996dc43b6cb49;hp=faf6537cec3603154e1d7c5d0add79192a304195;hpb=b9a74fdb2aaaec5f2859945f25bff9295da444e1;p=nageru diff --git a/nageru/queue_length_policy.h b/nageru/queue_length_policy.h index faf6537..9a52fc1 100644 --- a/nageru/queue_length_policy.h +++ b/nageru/queue_length_policy.h @@ -1,7 +1,13 @@ #ifndef _QUEUE_LENGTH_POLICY_H #define _QUEUE_LENGTH_POLICY_H 1 +#include +#include + #include +#include +#include +#include #include #include #include @@ -35,6 +41,7 @@ public: void clear() { history.clear(); orders.clear(); + expected_timestamp = std::chrono::steady_clock::time_point::min(); } void frame_arrived(std::chrono::steady_clock::time_point now, int64_t frame_duration, size_t dropped_frames); std::chrono::steady_clock::time_point get_expected_next_frame() const { return expected_timestamp; } @@ -53,6 +60,7 @@ private: std::deque::iterator> history; std::chrono::steady_clock::time_point expected_timestamp = std::chrono::steady_clock::time_point::min(); + int64_t last_duration = 0; // Metrics. There are no direct summaries for jitter, since we already have latency summaries. std::atomic metric_input_underestimated_jitter_frames{0};