22#define U_SINK_MAX_SPLIT_DOWNSTREAMS 5
157 size_t downstream_count,
222 os_mutex_init(&usd->
mutex);
228 os_mutex_lock(&usd->
mutex);
229 bool active = usd->sink != NULL;
230 os_mutex_unlock(&usd->
mutex);
238 os_mutex_lock(&usd->
mutex);
239 if (usd->sink != NULL) {
242 os_mutex_unlock(&usd->
mutex);
248 os_mutex_lock(&usd->
mutex);
250 os_mutex_unlock(&usd->
mutex);
256 os_mutex_destroy(&usd->
mutex);
Wrapper around OS threading native functions.
A wrapper around a native mutex.
Definition os_threading.h:69
Allows more safely to debug sink inputs and outputs.
Definition u_sink.h:211
struct os_mutex mutex
Is initialised/destroyed when added or root is removed.
Definition u_sink.h:213
bool stereo_sbs
Marks frames passing through as side-by-side stereo.
Definition u_sink.h:30
bool bayer_as_l8
Reinterprets a raw bayer image as a monochrome L8 image.
Definition u_sink.h:39
bool leap_motion
Sets the stereo format to the correct one for the leap motion and fixes image width.
Definition u_sink.h:37
bool ps4_cam
Marks the frames passing through as side-by-side stereo, and fixes up the camera's data offset to be ...
Definition u_sink.h:35
Object used to track all sinks and frame producers in a graph.
Definition xrt_frame.h:108
A object that is sent frames.
Definition xrt_frame.h:58
static void xrt_sink_push_frame(struct xrt_frame_sink *sink, struct xrt_frame *frame)
Push a frame into the sink.
Definition xrt_frame.h:73
Basic frame data structure - holds a pointer to buffer.
Definition xrt_frame.h:25
An object to send IMU samples to.
Definition xrt_tracking.h:173
bool u_sink_force_genlock_create(struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream_left, struct xrt_frame_sink *downstream_right, struct xrt_frame_sink **out_left_xfs, struct xrt_frame_sink **out_right_xfs)
Enforces left-right push order on frames and forces them to be within a reasonable amount of time fro...
Definition u_sink_force_genlock.c:260
bool u_sink_combiner_create(struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_left_xfs, struct xrt_frame_sink **out_right_xfs)
Combines stereo frames.
Definition u_sink_combiner.c:280
void u_sink_stereo_sbs_split_create(struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream_left, struct xrt_frame_sink *downstream_right, struct xrt_frame_sink **out_xfs)
Splits Stereo SBS frames into two independent frames.
Definition u_sink_stereo_sbs_split.c:89
xrt_format
Common formats, use u_format_* functions to reason about them.
Definition xrt_defines.h:193
Header defining the tracking system integration in Monado.