Monado OpenXR Runtime
oxr_face_tracking_android.c File Reference

Android face tracking related API entrypoint functions. More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "oxr_objects.h"
#include "oxr_logger.h"
#include "oxr_handle.h"
#include "oxr_xret.h"
#include "oxr_two_call.h"
Include dependency graph for oxr_face_tracking_android.c:

Functions

static XrResult oxr_face_tracker_android_destroy_cb (struct oxr_logger *log, struct oxr_handle_base *hb)
 
XrResult oxr_face_tracker_android_create (struct oxr_logger *log, struct oxr_session *sess, const XrFaceTrackerCreateInfoANDROID *createInfo, XrFaceTrackerANDROID *faceTracker)
 
XrResult oxr_get_face_state_android (struct oxr_logger *log, struct oxr_face_tracker_android *facial_tracker_android, const XrFaceStateGetInfoANDROID *getInfo, XrFaceStateANDROID *faceStateOutput)
 
XrResult oxr_get_face_calibration_state_android (struct oxr_logger *log, struct oxr_face_tracker_android *facial_tracker_android, XrBool32 *faceIsCalibratedOutput)
 

Detailed Description

Android face tracking related API entrypoint functions.

Author
Korcan Hussein korca.nosp@m.n.hu.nosp@m.ssein.nosp@m.@col.nosp@m.labor.nosp@m.a.co.nosp@m.m

Function Documentation

◆ oxr_get_face_state_android()

XrResult oxr_get_face_state_android ( struct oxr_logger log,
struct oxr_face_tracker_android *  facial_tracker_android,
const XrFaceStateGetInfoANDROID *  getInfo,
XrFaceStateANDROID *  faceStateOutput 
)

OXR_TWO_CALL_CHECK_* macro usage here is not technically necessary because validation is handled in the API layer before this function is called, but we still reuse them here for declarative purposes of handling two-call patterns of setting capacities on the first call.

Use the goto macro variant because a two-call check needs to happen with region confidences as well; we can't early exit for only one of them.