[fix] correct video latency measurement and smooth connection RTT

This commit is contained in:
dijunkun
2026-09-26 03:15:47 +08:00
parent 9ef64cc00f
commit bbbcfb9d6f
7 changed files with 108 additions and 6 deletions
@@ -26,6 +26,8 @@ struct VideoLatencyFrame {
std::shared_ptr<VideoLatencyStats> stats;
uint64_t id = 0;
Clock::time_point capture_time{};
void MarkPresented(Clock::time_point now = Clock::now()) const;
// Fallback for renderers which expose submission but no presentation time.
void MarkSubmitted(Clock::time_point now = Clock::now()) const;
};
@@ -97,6 +99,10 @@ class VideoLatencyStats
};
inline void VideoLatencyFrame::MarkSubmitted(Clock::time_point now) const {
MarkPresented(now);
}
inline void VideoLatencyFrame::MarkPresented(Clock::time_point now) const {
if (stats) stats->Record(*this, now);
}
} // namespace crossdesk