Monado OpenXR Runtime
|
An xrt_frame_sink that takes two frames, enforces gen-lock and pushes downstream in left-right order. More...
#include "util/u_misc.h"
#include "util/u_sink.h"
#include "util/u_frame.h"
#include "util/u_logging.h"
#include "util/u_trace_marker.h"
#include <stdio.h>
#include <pthread.h>
Data Structures | |
struct | u_sink_force_genlock |
An xrt_frame_sink that takes two frames in any order, and pushes downstream in left-right order once it has two frames that are close enough together. More... | |
Functions | |
static void * | force_genlock_mainloop (void *ptr) |
static void | force_genlock_left_frame (struct xrt_frame_sink *xfs, struct xrt_frame *xf) |
static void | force_genlock_right_frame (struct xrt_frame_sink *xfs, struct xrt_frame *xf) |
static void | force_genlock_break_apart (struct xrt_frame_node *node) |
static void | force_genlock_destroy (struct xrt_frame_node *node) |
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 from each other. More... | |
An xrt_frame_sink that takes two frames, enforces gen-lock and pushes downstream in left-right order.
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 from each other.
References u_sink_force_genlock::left, xrt_frame_sink::push_frame, and U_TYPED_CALLOC.
Referenced by u_sink_combiner_create().