diff --git a/selfdrive/ui/replay/replay.cc b/selfdrive/ui/replay/replay.cc index 1ed37d1fa9..3e9f5ac059 100644 --- a/selfdrive/ui/replay/replay.cc +++ b/selfdrive/ui/replay/replay.cc @@ -324,9 +324,12 @@ void Replay::stream() { // wait for frame to be sent before unlock.(frameReader may be deleted after unlock) camera_server_->waitFinish(); - if (eit == events_->end() && (current_segment_ == segments_.rbegin()->first) && isSegmentLoaded(current_segment_)) { - qInfo() << "reaches the end of route, restart from beginning"; - emit seekTo(0, false); + if (eit == events_->end()) { + int last_segment = segments_.rbegin()->first; + if (current_segment_ >= last_segment && isSegmentLoaded(last_segment)) { + qInfo() << "reaches the end of route, restart from beginning"; + emit seekTo(0, false); + } } } }