Monado OpenXR Runtime
euroc_player Struct Reference

Euroc player is in charge of the playback of a particular dataset. More...

Inheritance diagram for euroc_player:
Collaboration diagram for euroc_player:

Data Fields

struct xrt_fs base
 
struct xrt_frame_node node
 
struct xrt_frame_sink cam_sinks [XRT_TRACKING_MAX_SLAM_CAMS]
 Intermediate sink for each camera frames. More...
 
struct xrt_imu_sink imu_sink
 Intermediate sink for IMU samples. More...
 
struct xrt_slam_sinks in_sinks
 Pointers to intermediate sinks. More...
 
struct xrt_slam_sinks out_sinks
 Pointers to downstream sinks. More...
 
enum u_logging_level log_level
 Log messages with this priority and onwards. More...
 
struct euroc_player_dataset_info dataset
 Contains information about the source dataset. More...
 
struct euroc_player_playback_config playback
 Playback information. More...
 
struct xrt_fs_mode mode
 The only fs mode the euroc dataset provides. More...
 
bool is_running
 Set only at start, stop and end of frameserver stream. More...
 
timepoint_ns last_pause_ts
 Last time the stream was paused. More...
 
struct os_thread_helper play_thread
 
uint64_t img_seq
 Next frame number to use, index in imgs[i]. More...
 
uint64_t imu_seq
 Next imu sample number to use, index in imus More...
 
imu_samples * imus
 List of all IMU samples read from the dataset. More...
 
vector< img_samples > * imgs
 List of all image names to read from the dataset per camera. More...
 
gt_trajectory * gt
 List of all groundtruth poses read from the dataset. More...
 
timepoint_ns base_ts
 First sample timestamp, stream timestamps are relative to this. More...
 
timepoint_ns start_ts
 When did the dataset started to be played. More...
 
timepoint_ns offset_ts
 Amount of ns to offset start_ns (pauses, skips, etc) More...
 
enum euroc_player_ui_state ui_state
 
struct u_var_button start_btn
 
struct u_var_button pause_btn
 
char progress_text [128]
 
struct u_sink_debug ui_cam_sinks [XRT_TRACKING_MAX_SLAM_CAMS]
 Sinks to display cam frames in UI. More...
 
struct m_ff_vec3_f32gyro_ff
 Used for displaying IMU data. More...
 
struct m_ff_vec3_f32accel_ff
 Same as gyro_ff More...
 
- Data Fields inherited from xrt_fs
char name [512]
 Name of the frame server source, from the subsystem. More...
 
char product [32]
 Frame server product identifier, matches the prober device. More...
 
char manufacturer [32]
 Frame server manufacturer, matches the prober device. More...
 
char serial [32]
 Frame server serial number, matches the prober device. More...
 
uint64_t source_id
 All frames produced by this frameserver are tagged with this id. More...
 
bool(* enumerate_modes )(struct xrt_fs *xfs, struct xrt_fs_mode **out_modes, uint32_t *out_count)
 Enumerate all available modes that this frameserver supports. More...
 
bool(* configure_capture )(struct xrt_fs *xfs, struct xrt_fs_capture_parameters *cp)
 Set the capture parameters, may not be supported on all capture devices. More...
 
bool(* stream_start )(struct xrt_fs *xfs, struct xrt_frame_sink *xs, enum xrt_fs_capture_type capture_type, uint32_t descriptor_index)
 Start the capture stream. More...
 
bool(* slam_stream_start )(struct xrt_fs *xfs, struct xrt_slam_sinks *sinks)
 Setup SLAM sinks for all the sensors a SLAM implementation may supports and start the frame server stream. More...
 
bool(* stream_stop )(struct xrt_fs *xfs)
 Stop the capture stream. More...
 
bool(* is_running )(struct xrt_fs *xfs)
 Is the capture stream running. More...
 
- Data Fields inherited from xrt_frame_node
struct xrt_frame_nodenext
 
void(* break_apart )(struct xrt_frame_node *node)
 Called first in when the graph is being destroyed, remove any references frames and other objects and stop threads. More...
 
void(* destroy )(struct xrt_frame_node *node)
 Do the actual freeing of the objects. More...
 

Additional Inherited Members

- Public Member Functions inherited from xrt_fs
static bool xrt_fs_enumerate_modes (struct xrt_fs *xfs, struct xrt_fs_mode **out_modes, uint32_t *out_count)
 Enumerate all available modes that this frameserver supports. More...
 
static bool xrt_fs_configure_capture (struct xrt_fs *xfs, struct xrt_fs_capture_parameters *cp)
 Set the capture parameters, may not be supported on all capture devices. More...
 
static bool xrt_fs_stream_start (struct xrt_fs *xfs, struct xrt_frame_sink *xs, enum xrt_fs_capture_type capture_type, uint32_t descriptor_index)
 Start the capture stream. More...
 
static bool xrt_fs_slam_stream_start (struct xrt_fs *xfs, struct xrt_slam_sinks *sinks)
 Setup SLAM sinks for all the sensors a SLAM implementation may supports and start the frame server stream. More...
 
static bool xrt_fs_stream_stop (struct xrt_fs *xfs)
 Stop the capture stream. More...
 
static bool xrt_fs_is_running (struct xrt_fs *xfs)
 Is the capture stream running. More...
 

Detailed Description

Euroc player is in charge of the playback of a particular dataset.

Field Documentation

◆ accel_ff

struct m_ff_vec3_f32* euroc_player::accel_ff

Same as gyro_ff

◆ base_ts

timepoint_ns euroc_player::base_ts

First sample timestamp, stream timestamps are relative to this.

Referenced by euroc_player_mapped_ts(), and euroc_player_user_skip().

◆ cam_sinks

struct xrt_frame_sink euroc_player::cam_sinks[XRT_TRACKING_MAX_SLAM_CAMS]

Intermediate sink for each camera frames.

◆ dataset

struct euroc_player_dataset_info euroc_player::dataset

Contains information about the source dataset.

◆ gt

gt_trajectory* euroc_player::gt

List of all groundtruth poses read from the dataset.

◆ gyro_ff

struct m_ff_vec3_f32* euroc_player::gyro_ff

Used for displaying IMU data.

◆ img_seq

uint64_t euroc_player::img_seq

Next frame number to use, index in imgs[i].

Note that this expects that both cameras provide the same amount of frames. Furthermore, it is also expected that their timestamps match. Next frame number to use, index in imgs[i]

Referenced by euroc_player_get_stream_set(), and euroc_player_user_skip().

◆ imgs

vector<img_samples>* euroc_player::imgs

List of all image names to read from the dataset per camera.

Referenced by euroc_player_get_stream_set(), euroc_player_match_cams_seqs(), and euroc_player_user_skip().

◆ imu_seq

uint64_t euroc_player::imu_seq

Next imu sample number to use, index in imus

Referenced by euroc_player_get_stream_set(), and euroc_player_user_skip().

◆ imu_sink

struct xrt_imu_sink euroc_player::imu_sink

Intermediate sink for IMU samples.

◆ imus

imu_samples* euroc_player::imus

List of all IMU samples read from the dataset.

Referenced by euroc_player_get_stream_set(), and euroc_player_user_skip().

◆ in_sinks

struct xrt_slam_sinks euroc_player::in_sinks

Pointers to intermediate sinks.

◆ is_running

bool euroc_player::is_running

Set only at start, stop and end of frameserver stream.

◆ last_pause_ts

timepoint_ns euroc_player::last_pause_ts

Last time the stream was paused.

Referenced by euroc_player_pause_btn_cb().

◆ log_level

enum u_logging_level euroc_player::log_level

Log messages with this priority and onwards.

◆ mode

struct xrt_fs_mode euroc_player::mode

The only fs mode the euroc dataset provides.

◆ offset_ts

timepoint_ns euroc_player::offset_ts

Amount of ns to offset start_ns (pauses, skips, etc)

Referenced by euroc_player_mapped_ts(), euroc_player_pause_btn_cb(), and euroc_player_user_skip().

◆ out_sinks

struct xrt_slam_sinks euroc_player::out_sinks

Pointers to downstream sinks.

◆ playback

struct euroc_player_playback_config euroc_player::playback

Playback information.

Prefer to fill it before stream start

Referenced by euroc_player_mapped_playback_ts(), euroc_player_mapped_ts(), euroc_player_pause_btn_cb(), and euroc_player_user_skip().

◆ start_ts

timepoint_ns euroc_player::start_ts

When did the dataset started to be played.

Referenced by euroc_player_mapped_ts().

◆ ui_cam_sinks

struct u_sink_debug euroc_player::ui_cam_sinks[XRT_TRACKING_MAX_SLAM_CAMS]

Sinks to display cam frames in UI.


The documentation for this struct was generated from the following file: