From 46cc3f1d285c289a1df6f62bf08c175a8477a008 Mon Sep 17 00:00:00 2001 From: deanlee Date: Fri, 17 Dec 2021 02:19:22 +0800 Subject: [PATCH] do nothing if tm less than current mono time --- selfdrive/ui/replay/replay.cc | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/selfdrive/ui/replay/replay.cc b/selfdrive/ui/replay/replay.cc index 224144a0742d492..98f3cded37ffa25 100644 --- a/selfdrive/ui/replay/replay.cc +++ b/selfdrive/ui/replay/replay.cc @@ -115,14 +115,22 @@ void Replay::doSeek(int seconds, bool relative) { void Replay::doSeekToFlag(FindFlag flag) { if (flag == FindFlag::nextEngagement) { - qInfo() << "seeking to the next engagement..."; + qInfo() << "seeking to the next engagement..."; } else if (flag == FindFlag::nextDisEngagement) { - qInfo() << "seeking to the disengagement..."; + qInfo() << "seeking to the disengagement..."; } updateEvents([&]() { if (auto next = find(flag)) { - cur_mono_time_ = *next - 2 * 1e9; // seek to 2 seconds before next; + uint64_t tm = *next - 2 * 1e9; // seek to 2 seconds before next + if (tm <= cur_mono_time_) { + if (flag == FindFlag::nextEngagement) { + qInfo() << "already in engagement"; + } + return true; + } + + cur_mono_time_ = tm; current_segment_ = currentSeconds() / 60; return isSegmentMerged(current_segment_); } else {