Monado OpenXR Runtime
xrt_frame_sink Interface Reference

A object that is sent frames. More...

#include <xrt/xrt_frame.h>

Inheritance diagram for xrt_frame_sink:
Collaboration diagram for xrt_frame_sink:

Public Member Functions

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 void xrt_sink_push_frame (struct xrt_frame_sink *sink, struct xrt_frame *frame)
 Push a frame into the sink. More...
 

Data Fields

void(* push_frame )(struct xrt_frame_sink *sink, struct xrt_frame *frame)
 Push a frame into the sink. More...
 

Detailed Description

A object that is sent frames.

All objects that implement xrt_frame_sink must also implement xrt_frame_node, and should take an xrt_frame_context to register themselves with in their constructor.

Member Function Documentation

◆ u_sink_create_format_converter()

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 
)

◆ u_sink_create_to_r8g8b8_bayer_or_l8()

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 
)
See also
xrt_frame_context

References push_frame, and U_TYPED_CALLOC.

◆ u_sink_create_to_r8g8b8_or_l8()

void u_sink_create_to_r8g8b8_or_l8 ( struct xrt_frame_context xfctx,
struct xrt_frame_sink downstream,
struct xrt_frame_sink **  out_xfs 
)
See also
xrt_frame_context

References push_frame, and U_TYPED_CALLOC.

◆ u_sink_create_to_r8g8b8_r8g8b8a8_r8g8b8x8_or_l8()

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 
)
See also
xrt_frame_context

References push_frame, and U_TYPED_CALLOC.

◆ u_sink_create_to_rgb_yuv_yuyv_uyvy_or_l8()

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 
)
See also
xrt_frame_context

References push_frame, and U_TYPED_CALLOC.

◆ u_sink_create_to_yuv_or_yuyv()

void u_sink_create_to_yuv_or_yuyv ( struct xrt_frame_context xfctx,
struct xrt_frame_sink downstream,
struct xrt_frame_sink **  out_xfs 
)
See also
xrt_frame_context

References push_frame, and U_TYPED_CALLOC.

◆ u_sink_create_to_yuv_yuyv_uyvy_or_l8()

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 
)
See also
xrt_frame_context

References push_frame, and U_TYPED_CALLOC.

◆ u_sink_deinterleaver_create()

void u_sink_deinterleaver_create ( struct xrt_frame_context xfctx,
struct xrt_frame_sink downstream,
struct xrt_frame_sink **  out_xfs 
)
See also
xrt_frame_context

References push_frame, and U_TYPED_CALLOC.

◆ u_sink_queue_create()

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 
)

◆ u_sink_quirk_create()

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 
)

◆ u_sink_simple_queue_create()

bool u_sink_simple_queue_create ( struct xrt_frame_context xfctx,
struct xrt_frame_sink downstream,
struct xrt_frame_sink **  out_xfs 
)

◆ u_sink_split_create()

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 
)
See also
xrt_frame_context Takes a frame and pushes it to two sinks

References push_frame, and U_TYPED_CALLOC.

◆ xrt_sink_push_frame()

static void xrt_sink_push_frame ( struct xrt_frame_sink sink,
struct xrt_frame frame 
)
inline

Push a frame into the sink.

Helper for calling through the function pointer.

References push_frame.

Field Documentation

◆ push_frame


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