7.47.1. Name

VIDIOC_PREPARE_BUF - Prepare a buffer for I/O

7.47.2. Synopsis

int ioctl(int fd, VIDIOC_PREPARE_BUF, struct v4l2_buffer *argp)

7.47.3. Arguments


File descriptor returned by open().


Pointer to struct v4l2_buffer.

7.47.4. Description

Applications can optionally call the ioctl 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.

The struct v4l2_buffer structure is specified in Buffers.

7.47.5. Return Value

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.