|
|
|
@ -321,13 +321,12 @@ void Replay::mergeSegments(const SegmentMap::iterator &begin, const SegmentMap:: |
|
|
|
|
void Replay::startStream(const Segment *cur_segment) { |
|
|
|
|
const auto &events = cur_segment->log->events; |
|
|
|
|
|
|
|
|
|
// get route start time from initData
|
|
|
|
|
auto it = std::find_if(events.begin(), events.end(), [](auto e) { return e->which == cereal::Event::Which::INIT_DATA; }); |
|
|
|
|
route_start_ts_ = it != events.end() ? (*it)->mono_time : events[0]->mono_time; |
|
|
|
|
cur_mono_time_ += route_start_ts_; |
|
|
|
|
// each segment has an INIT_DATA
|
|
|
|
|
route_start_ts_ = events.front()->mono_time; |
|
|
|
|
cur_mono_time_ += route_start_ts_ - 1; |
|
|
|
|
|
|
|
|
|
// write CarParams
|
|
|
|
|
it = std::find_if(events.begin(), events.end(), [](auto e) { return e->which == cereal::Event::Which::CAR_PARAMS; }); |
|
|
|
|
auto it = std::find_if(events.begin(), events.end(), [](auto e) { return e->which == cereal::Event::Which::CAR_PARAMS; }); |
|
|
|
|
if (it != events.end()) { |
|
|
|
|
car_fingerprint_ = (*it)->event.getCarParams().getCarFingerprint(); |
|
|
|
|
capnp::MallocMessageBuilder builder; |
|
|
|
|