Frame-Sync Capability
C Reference » Production Nodes Functionality » Generator

## Functions

XN_C_API XnBool XN_C_DECL | xnCanFrameSyncWith (XnNodeHandle hInstance, XnNodeHandle hOther)
XN_C_API XnStatus XN_C_DECL | xnFrameSyncWith (XnNodeHandle hInstance, XnNodeHandle hOther)
XN_C_API XnStatus XN_C_DECL | xnStopFrameSyncWith (XnNodeHandle hInstance, XnNodeHandle hOther)
XN_C_API XnBool XN_C_DECL | xnIsFrameSyncedWith (XnNodeHandle hInstance, XnNodeHandle hOther)
XN_C_API XnStatus XN_C_DECL | xnRegisterToFrameSyncChange (XnNodeHandle hInstance, XnStateChangedHandler handler, void *pCookie, XnCallbackHandle *phCallback)
XN_C_API void XN_C_DECL | xnUnregisterFromFrameSyncChange (XnNodeHandle hInstance, XnCallbackHandle hCallback)

## Detailed Description

The Frame Sync capability (XN_CAPABILITY_FRAME_SYNC) allows two sensors producing frame data to synchronize their frames so that they arrive at the same time. This allows smaller latency between two maps of the same scene (for example depth and image).

## Function Documentation

## xnCanFrameSyncWith()

XN_C_API XnBool XN_C_DECL xnCanFrameSyncWith | ( | XnNodeHandle | hInstance,
|  | XnNodeHandle | hOther )

Checks if this generator can frame sync to another node.

Parameters

  hInstance | [in] A handle to the instance.
  hOther | [in] The node to be checked.

Returns
  TRUE if frame sync to node is supported, FALSE otherwise.

## xnFrameSyncWith()

XN_C_API XnStatus XN_C_DECL xnFrameSyncWith | ( | XnNodeHandle | hInstance,
|  | XnNodeHandle | hOther )

Activates frame sync with the other node.

Parameters

  hInstance | [in] A handle to the instance.
  hOther | [in] The node to sync to.

## xnIsFrameSyncedWith()

XN_C_API XnBool XN_C_DECL xnIsFrameSyncedWith | ( | XnNodeHandle | hInstance,
|  | XnNodeHandle | hOther )

Checks if current view point is as if coming from the other node view point.

Parameters

  hInstance | [in] A handle to the instance.
  hOther | [in] The node to be checked.

## xnRegisterToFrameSyncChange()

XN_C_API XnStatus XN_C_DECL xnRegisterToFrameSyncChange | ( | XnNodeHandle | hInstance,
|  | XnStateChangedHandler | handler,
|  | void * | pCookie,
|  | XnCallbackHandle * | phCallback )

Registers a callback function to view point changes.

Parameters

  hInstance | [in] A handle to the instance.
  handler | [in] A pointer to a function that will be called when frame sync changes.
  pCookie | [in] A user cookie that will be passed to the callback function.
  phCallback | [out] Optional. Will be filled with a handle to be passed to xnUnregisterFromFrameSyncChange().

## xnStopFrameSyncWith()

XN_C_API XnStatus XN_C_DECL xnStopFrameSyncWith | ( | XnNodeHandle | hInstance,
|  | XnNodeHandle | hOther )

Stops frame sync with the other node.

Parameters

  hInstance | [in] A handle to the instance.
  hOther | [in] The node to sync to.

## xnUnregisterFromFrameSyncChange()

XN_C_API void XN_C_DECL xnUnregisterFromFrameSyncChange | ( | XnNodeHandle | hInstance,
|  | XnCallbackHandle | hCallback )

Unregisters a callback function which was registered using xnRegisterToFrameSyncChange().

Parameters

  hInstance | [in] A handle to the instance.
  hCallback | [in] The handle to the callback returned from xnRegisterToFrameSyncChange().