Monado OpenXR Runtime
xrt_fs Interface Reference

Frameserver that generates frames. More...

#include <xrt/xrt_frameserver.h>

Inheritance diagram for xrt_fs:
Collaboration diagram for xrt_fs:

Static Public Member Functions

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...
 

Data Fields

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...
 

Detailed Description

Frameserver that generates frames.

Multiple subframes (like stereo and mipmaps) can be generate in one frame.

Member Function Documentation

◆ xrt_fs_configure_capture()

static bool xrt_fs_configure_capture ( struct xrt_fs xfs,
struct xrt_fs_capture_parameters cp 
)
inlinestatic

Set the capture parameters, may not be supported on all capture devices.

Helper for calling through the function pointer.

References configure_capture.

◆ xrt_fs_enumerate_modes()

static bool xrt_fs_enumerate_modes ( struct xrt_fs xfs,
struct xrt_fs_mode **  out_modes,
uint32_t *  out_count 
)
inlinestatic

Enumerate all available modes that this frameserver supports.

Helper for calling through the function pointer.

References enumerate_modes.

◆ xrt_fs_is_running()

static bool xrt_fs_is_running ( struct xrt_fs xfs)
inlinestatic

Is the capture stream running.

Helper for calling through the function pointer.

References is_running.

◆ xrt_fs_slam_stream_start()

static bool xrt_fs_slam_stream_start ( struct xrt_fs xfs,
struct xrt_slam_sinks sinks 
)
inlinestatic

Setup SLAM sinks for all the sensors a SLAM implementation may supports and start the frame server stream.

Use xrt_fs::stream_start instead if you only need the image stream.

Note
Having this method extends the scope of the frameserver to something more akin to a generic data source instead of just serving frames.
Todo:
Fix this incongruence. Maybe rename the interface to xrt_data_source.

Helper for calling through the function pointer.

References slam_stream_start.

◆ xrt_fs_stream_start()

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 
)
inlinestatic

Start the capture stream.

Helper for calling through the function pointer.

References stream_start.

◆ xrt_fs_stream_stop()

static bool xrt_fs_stream_stop ( struct xrt_fs xfs)
inlinestatic

Stop the capture stream.

Helper for calling through the function pointer.

References stream_stop.

Field Documentation

◆ configure_capture

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.

Referenced by rs_source_create(), and xrt_fs_configure_capture().

◆ enumerate_modes

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.

Referenced by rs_source_create(), and xrt_fs_enumerate_modes().

◆ is_running

bool(* xrt_fs::is_running) (struct xrt_fs *xfs)

Is the capture stream running.

Referenced by xrt_fs_is_running().

◆ manufacturer

char xrt_fs::manufacturer[32]

Frame server manufacturer, matches the prober device.

◆ name

◆ product

char xrt_fs::product[32]

Frame server product identifier, matches the prober device.

◆ serial

char xrt_fs::serial[32]

Frame server serial number, matches the prober device.

◆ slam_stream_start

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.

Use xrt_fs::stream_start instead if you only need the image stream.

Note
Having this method extends the scope of the frameserver to something more akin to a generic data source instead of just serving frames.
Todo:
Fix this incongruence. Maybe rename the interface to xrt_data_source.

Referenced by xrt_fs_slam_stream_start().

◆ source_id

uint64_t xrt_fs::source_id

All frames produced by this frameserver are tagged with this id.

Referenced by p_factory_ensure_slam_frameserver().

◆ stream_start

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.

Referenced by rs_source_create(), and xrt_fs_stream_start().

◆ stream_stop

bool(* xrt_fs::stream_stop) (struct xrt_fs *xfs)

Stop the capture stream.

Referenced by xrt_fs_stream_stop().


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