25 std::shared_ptr<context>
get_context()
const override;
51 std::vector<tagged_profile>
get_profiles_tags()
const override {
return std::vector<tagged_profile>(); };
67 template <
typename T>
void do_loop(
T op);
80 std::shared_ptr<device_serializer::reader>
m_reader;
86 std::map<uint32_t, std::shared_ptr<playback_sensor>>
m_sensors;
rs2_extrinsics calc_extrinsic(const rs2_extrinsics &from, const rs2_extrinsics &to)
std::shared_ptr< context > get_context() const override
void set_frame_rate(double rate)
void register_extrinsics(const device_serializer::device_snapshot &device_description)
void tag_profiles(stream_profiles profiles) const override
std::shared_ptr< stream_profile_interface > get_stream(const std::map< unsigned, std::shared_ptr< playback_sensor >> &sensors_map, device_serializer::stream_identifier stream_id)
void seek_to_time(std::chrono::nanoseconds time)
std::shared_ptr< context > m_context
playback_device(std::shared_ptr< context > context, std::shared_ptr< device_serializer::reader > serializer)
bool is_real_time() const
const std::string & get_file_name() const
GLsizei const GLchar *const * string
lazy< std::shared_ptr< dispatcher > > m_read_thread
signal< playback_device, rs2_playback_status > playback_status_changed
uint64_t get_position() const
platform::backend_device_group get_device_data() const override
bool extend_to(rs2_extension extension_type, void **ext) override
static bool try_extend_snapshot(std::shared_ptr< extension_snapshot > &e, rs2_extension extension_type, void **ext)
GLboolean GLboolean GLboolean GLboolean a
std::atomic_bool m_is_paused
bool compress_while_record() const override
bool contradicts(const stream_profile_interface *a, const std::vector< stream_profile > &others) const override
device_serializer::nanoseconds m_prev_timestamp
device_serializer::nanoseconds m_last_published_timestamp
size_t get_sensors_count() const override
unsigned __int64 uint64_t
std::shared_ptr< device_serializer::reader > m_reader
std::atomic< double > m_sample_rate
std::mutex m_last_published_timestamp_mutex
device_serializer::nanoseconds m_base_timestamp
bool is_valid() const override
std::map< uint32_t, std::shared_ptr< playback_sensor > > m_active_sensors
void set_real_time(bool real_time)
std::vector< std::shared_ptr< stream_profile_interface >> stream_profiles
std::chrono::duration< uint64_t, std::nano > nanoseconds
std::map< uint32_t, std::shared_ptr< playback_sensor > > create_playback_sensors(const device_serializer::device_snapshot &device_description)
Cross-stream extrinsics: encodes the topology describing how the different devices are oriented...
rs2_playback_status get_current_status() const
std::vector< tagged_profile > get_profiles_tags() const override
void hardware_reset() override
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
std::atomic_bool m_real_time
device_serializer::device_snapshot m_device_description
void update_time_base(device_serializer::nanoseconds base_timestamp)
virtual ~playback_device()
void register_device_info(const device_serializer::device_snapshot &device_description)
uint64_t get_duration() const
std::atomic_bool m_is_started
std::shared_ptr< matcher > create_matcher(const frame_holder &frame) const override
sensor_interface & get_sensor(size_t i) override
std::pair< uint32_t, rs2_extrinsics > get_extrinsics(const stream_interface &stream) const override
GeneratorWrapper< T > map(Func &&function, GeneratorWrapper< U > &&generator)
std::map< int, std::pair< uint32_t, rs2_extrinsics > > m_extrinsics_map
MAP_EXTENSION(RS2_EXTENSION_POINTS, librealsense::points)
std::vector< std::shared_ptr< lazy< rs2_extrinsics > > > m_extrinsics_fetchers
std::map< uint32_t, std::shared_ptr< playback_sensor > > m_sensors
std::chrono::high_resolution_clock::time_point m_base_sys_time
void update_extensions(const device_serializer::device_snapshot &device_description)
device_serializer::nanoseconds calc_sleep_time(device_serializer::nanoseconds timestamp)