std::atomic<uint64_t> last_position{0}; // TODO: sort of redundant wrt. last_pts (but this one can be read from the other thread)
int64_t pts_origin;
int64_t last_pts;
std::atomic<uint64_t> last_position{0}; // TODO: sort of redundant wrt. last_pts (but this one can be read from the other thread)
- std::atomic<bool> running{false};
+ enum RunState { NOT_RUNNING, STARTING, RUNNING, VIDEO_FILE_ERROR }; // NOT_RUNNING and VIDEO_FILE_ERROR both imply that the thread isn't running and can freely be restarted.