Monado OpenXR Runtime
u_sink_combiner Struct Reference

An xrt_frame_sink combiner, frames pushed to the left and right side will be combined into one xrt_frame with format XRT_STEREO_FORMAT_SBS. More...

Inheritance diagram for u_sink_combiner:
Collaboration diagram for u_sink_combiner:

Data Fields

struct xrt_frame_sink left
 Base sink for left. More...
 
struct xrt_frame_sink right
 Base sink for right. More...
 
struct xrt_frame_node node
 For tracking on the frame context. More...
 
struct xrt_frame_sinkconsumer
 The consumer of the frames that are queued. More...
 
struct xrt_frameframes [2]
 The current queued frame. More...
 
pthread_t thread
 
pthread_mutex_t mutex
 
pthread_cond_t cond
 
bool running
 Should we keep running. More...
 
- Data Fields inherited from xrt_frame_sink
void(* push_frame )(struct xrt_frame_sink *sink, struct xrt_frame *frame)
 Push a frame into the sink. 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_frame_sink
void u_sink_create_format_converter (struct xrt_frame_context *xfctx, enum xrt_format f, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_r8g8b8_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_r8g8b8_bayer_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_rgb_yuv_yuyv_uyvy_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_yuv_yuyv_uyvy_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_yuv_or_yuyv (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_create_to_r8g8b8_r8g8b8a8_r8g8b8x8_or_l8 (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_deinterleaver_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
bool u_sink_queue_create (struct xrt_frame_context *xfctx, uint64_t max_size, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
bool u_sink_simple_queue_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct xrt_frame_sink **out_xfs)
 
void u_sink_quirk_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *downstream, struct u_sink_quirk_params *params, struct xrt_frame_sink **out_xfs)
 
void u_sink_split_create (struct xrt_frame_context *xfctx, struct xrt_frame_sink *left, struct xrt_frame_sink *right, struct xrt_frame_sink **out_xfs)
 
- Static Public Member Functions inherited from xrt_frame_sink
static void xrt_sink_push_frame (struct xrt_frame_sink *sink, struct xrt_frame *frame)
 Push a frame into the sink. More...
 

Detailed Description

An xrt_frame_sink combiner, frames pushed to the left and right side will be combined into one xrt_frame with format XRT_STEREO_FORMAT_SBS.

Will drop stale frames if the combining work takes too long.

Field Documentation

◆ consumer

struct xrt_frame_sink* u_sink_combiner::consumer

The consumer of the frames that are queued.

◆ frames

struct xrt_frame* u_sink_combiner::frames[2]

The current queued frame.

◆ left

struct xrt_frame_sink u_sink_combiner::left

Base sink for left.

Referenced by u_sink_combiner_create().

◆ node

struct xrt_frame_node u_sink_combiner::node

For tracking on the frame context.

◆ right

struct xrt_frame_sink u_sink_combiner::right

Base sink for right.

Referenced by u_sink_combiner_create().

◆ running

bool u_sink_combiner::running

Should we keep running.


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