X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=futatabi%2Fplayer.h;h=33a83e5c550101870036b1e9297202e42cd82958;hb=20ea8ae661b78d88f360b8f582d2576c9c1def4d;hp=03da29e364b80db3c2a503fc3e3d98b25ee90a84;hpb=eaba7288c4fb39ca195c9355970293bcaf088dbc;p=nageru diff --git a/futatabi/player.h b/futatabi/player.h index 03da29e..33a83e5 100644 --- a/futatabi/player.h +++ b/futatabi/player.h @@ -20,6 +20,8 @@ class VideoStream; class QSurface; class QSurfaceFormat; +double compute_time_left(const std::vector &clips, const std::map &progress); + class Player : public QueueInterface { public: enum StreamOutput { @@ -84,6 +86,16 @@ private: std::unique_ptr video_stream; // Can be nullptr. + std::atomic metric_dropped_interpolated_frame{0}; + std::atomic metric_dropped_unconditional_frame{0}; + std::atomic metric_faded_frame{0}; + std::atomic metric_faded_snapped_frame{0}; + std::atomic metric_original_frame{0}; + std::atomic metric_original_snapped_frame{0}; + std::atomic metric_refresh_frame{0}; + std::atomic metric_interpolated_frame{0}; + std::atomic metric_interpolated_faded_frame{0}; + // under queue_state_mu. Part of this instead of VideoStream so that we own // its lock and can sleep on it. size_t num_queued_frames = 0;