10 using namespace device_serializer;
23 void write_file_version();
35 void write_streaming_info(
nanoseconds timestamp,
const sensor_identifier& sensor_id, std::shared_ptr<video_stream_profile_interface> profile);
36 void write_streaming_info(
nanoseconds timestamp,
const sensor_identifier& sensor_id, std::shared_ptr<motion_stream_profile_interface> profile);
37 void write_streaming_info(
nanoseconds timestamp,
const sensor_identifier& sensor_id, std::shared_ptr<pose_stream_profile_interface> profile);
38 void write_extension_snapshot(
uint32_t device_id,
const nanoseconds& timestamp,
rs2_extension type, std::shared_ptr<librealsense::extension_snapshot> snapshot);
41 template <rs2_extension E>
45 if (as_type ==
nullptr)
53 void write_vendor_info(
const std::string& topic,
nanoseconds timestamp, std::shared_ptr<info_interface> info_snapshot);
58 rs2_extension get_processing_block_extension(
const std::shared_ptr<processing_block_interface> block);
67 LOG_DEBUG(
"Recorded: \"" << topic <<
"\" . TS: " << time.count());
71 throw io_exception(
to_string() <<
"Ros Writer failed to write topic: \"" << topic <<
"\" to file. (Exception message: " << e.what() <<
")");
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls...
rs2rosinternal::Time to_rostime(const device_serializer::nanoseconds &t)
std::map< uint32_t, std::set< rs2_option > > m_written_options_descriptions
std::shared_ptr< typename ExtensionToType< E >::type > SnapshotAs(std::shared_ptr< librealsense::extension_snapshot > snapshot)
GLsizei const GLchar *const * string
std::map< stream_identifier, geometry_msgs::Transform > m_extrinsics_msgs
Exception thrown when on IO problems.
std::chrono::duration< uint64_t, std::nano > nanoseconds
std::string get_file_name(const std::string &path)
rs2_extension
Specifies advanced interfaces (capabilities) objects may implement.
void write_message(std::string const &topic, nanoseconds const &time, T const &msg)
std::string to_string(T value)