+
+ int64_t pts_origin, last_pts;
+ std::chrono::steady_clock::time_point start, next_frame_start;
+
+ std::mutex queue_mu;
+ struct QueuedCommand {
+ enum Command { REWIND, CHANGE_RATE } command;
+ double new_rate; // For CHANGE_RATE.
+ };
+ std::vector<QueuedCommand> command_queue; // Protected by <queue_mu>.