Monado OpenXR Runtime
vive_source.c File Reference

Interface for vive data sources. More...

#include "xrt/xrt_frame.h"
#include "xrt/xrt_tracking.h"
#include "os/os_threading.h"
#include "math/m_clock_offset.h"
#include "util/u_deque.h"
#include "util/u_logging.h"
#include "util/u_trace_marker.h"
#include "vive.h"
Include dependency graph for vive_source.c:

Data Structures

struct  vive_source
 Manages the data streaming state related to a vive headset. More...
 

Functions

bool vive_source_try_convert_v4l2_timestamp (struct vive_source *vs, struct xrt_frame *xf)
 Find the best corresponding hw timestamp from this v4l2 frame, return whether it was found. More...
 
static void vive_source_receive_sbs_frame (struct xrt_frame_sink *sink, struct xrt_frame *xf)
 
static void vive_source_receive_imu_sample (struct xrt_imu_sink *sink, struct xrt_imu_sample *s)
 
static void vive_source_node_break_apart (struct xrt_frame_node *node)
 
static void vive_source_node_destroy (struct xrt_frame_node *node)
 
struct vive_sourcevive_source_create (struct xrt_frame_context *xfctx)
 Exported functions. More...
 
void vive_source_push_imu_packet (struct vive_source *vs, uint32_t age, timepoint_ns t, struct xrt_vec3 a, struct xrt_vec3 g)
 
void vive_source_push_frame_ticks (struct vive_source *vs, timepoint_ns ticks)
 
void vive_source_hook_into_sinks (struct vive_source *vs, struct xrt_slam_sinks *sinks)
 

Detailed Description

Function Documentation

◆ vive_source_try_convert_v4l2_timestamp()

bool vive_source_try_convert_v4l2_timestamp ( struct vive_source vs,
struct xrt_frame xf 
)

Find the best corresponding hw timestamp from this v4l2 frame, return whether it was found.

References vive_source::frame_timestamps_lock, and vive_source::timestamps_have_been_zero_until_now.