VIDIOC_PREPARE_BUF — Prepare a buffer for I/O
int ioctl( | int fd, |
| int request, | |
struct v4l2_buffer *argp); |
This is an experimental interface and may change in the future.
Applications can optionally call the
VIDIOC_PREPARE_BUF ioctl to pass ownership of the buffer
to the driver before actually enqueuing it, using the
VIDIOC_QBUF ioctl, and to prepare it for future I/O.
Such preparations may include cache invalidation or cleaning. Performing them
in advance saves time during the actual I/O. In case such cache operations are
not required, the application can use one of
V4L2_BUF_FLAG_NO_CACHE_INVALIDATE and
V4L2_BUF_FLAG_NO_CACHE_CLEAN flags to skip the respective
step.
The v4l2_buffer structure is specified in the section called “Buffers”.
On success 0 is returned, on error -1 and the errno variable is set appropriately. The generic error codes are described at the Generic Error Codes chapter.
File I/O is in progress.
The buffer type is not
supported, or the index is out of bounds,
or no buffers have been allocated yet, or the
userptr or
length are invalid.