X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=print_latency.h;h=3e1c4060f530a204cb419a6166f2ec675987747e;hb=fa54f2630c56a1df0046923d6a77b1bd58abf240;hp=1c937c58856a7cb2a511e7856ebbf1c51fc87c24;hpb=1df7849fad1d0647a02951abaa60f9e4f40ce360;p=nageru diff --git a/print_latency.h b/print_latency.h index 1c937c5..3e1c406 100644 --- a/print_latency.h +++ b/print_latency.h @@ -13,17 +13,16 @@ #include "metrics.h" // Since every output frame is based on multiple input frames, we need -// more than one start timestamp. For now, we keep just the smallest -// and largest timestamp, so that we can print out a range. -// For both of these, steady_clock::time_point::min() is used for “not set”. +// more than one start timestamp; one for each input. +// For all of these, steady_clock::time_point::min() is used for “not set”. struct ReceivedTimestamps { - std::chrono::steady_clock::time_point min_ts, max_ts; + std::vector ts; }; struct LatencyHistogram { void init(const std::string &measuring_point); // Initializes histograms and registers them in global_metrics. - Histogram histogram_lowest_latency_input, histogram_highest_latency_input; - Histogram histogram_lowest_latency_input_bframe, histogram_highest_latency_input_bframe; + // Indices: card number, frame history number, b-frame or not (1/0, where 2 counts both). + std::vector>> summaries; }; ReceivedTimestamps find_received_timestamp(const std::vector &input_frames);