wfdAcquireDestinationImageQNX()

Acquire an image from a destination

Synopsis:

#include <wfd/wfdext.h>
__errno_t wfdAcquireDestinationImageQNX(WFDDevice device, WFDDestinationQNX destination, const _Intptrt *attribList, WFDint *index_out)

Arguments:

device
A WFD device handle.
destination
A destination handle associated with device.
attribList
NULL; or a pointer to an attribute list with pointer-sized values. Supported attributes:
  • WFD_TIMEOUT_ABS_MONOTONIC_QNX: When used in a pointer-sized attribute list, its value is a pointer (cast to intptr_t) to a const struct timespec declaring the CLOCK_MONOTONIC time at which the blocking call should stop waiting. Alternately, one of the following special integer values can be specified: 0 means the call should not block; -1 or (intptr_t)WFD_FOREVER indicates it should not time out.
  • WFD_WRITEBACK_SEQUENCE_NUMBER_QNX: When used in a pointer-sized attribute list, its value is a pointer (cast to intptr_t) to an unsigned int where the driver writes the sequence number of any returned frame.
index_out
A pointer to a location where this function will, on success, store the index of the acquired image. This is the 0-based index within the array used to create the destination.

Library:

libWFDclient

Description:

By default, the function will block while writeback is active until an image is provided by the driver. A timeout can be given to override this. Deactivating writeback, e.g. by detaching the destination from the port, will wake up any blocked clients.

The returned image is not used by the driver in connection with the specified destination until wfdReleaseDestinationImageQNX() is called.

This might not work with destinations from the old WFD_QNX_write_back extension. Use WFD_QNX_destination_create_from_images instead.

This function does not affect values returned by wfdGetError().

Note:
{Drivers may need to hold onto one or more buffers while writeback is active, and so may return EBUSY if the client tries to acquire too many without releasing them.}

Returns:

EOK
Success; *index_out was filled.
EBUSY
Too many buffers are in use by the client.
ECANCELED
Writeback is disabled.
EINVAL
An invalid parameter value was specified.
ENOENT
A bad handle was specified.
ENOTSUP
An unsupported attribute was provided.
ETIMEDOUT
The timeout was reached.
Page updated: