#pragma once #include #include #include #include #include #include #include "cereal/visionipc/visionipc_server.h" #include "selfdrive/common/util.h" #include "selfdrive/ui/qt/api.h" #include "selfdrive/ui/replay/filereader.h" #include "selfdrive/ui/replay/unlogger.h" #include "tools/clib/framereader.h" class Replay : public QObject { Q_OBJECT public: Replay(QString route_, int seek); void stream(SubMaster *sm = nullptr); void addSegment(int i); QJsonArray camera_paths; QJsonArray log_paths; QQueue event_sizes; public slots: void parseResponse(const QString &response); protected: Unlogger *unlogger; private: QString route; QReadWriteLock events_lock; Events events; QMap lrs; QMap frs; HttpRequest *http; int current_segment; };