Updated: October 26, 2022

Set a video frame capture property of type (void) pointer


#include <vcapture/capture.h>
int capture_set_property_p(capture_context_t context,
                           uint32_t prop,
                           void *value)


The pointer to the video capture context.
The property to set.
A pointer to a buffer containing the new value of the property to be set. This buffer must be of type void*.




This function sets an array of video capture properties to pass to the video capture library.

Array resources, such as CAPTURE_PROPERTY_FRAME_FLAGS and CAPTURE_PROPERTY_FRAME_SEQNO, are not allocated by default. They need to be set, then passed to the video capture driver. To do this, you must set the properties you need to specify by calling capture_set_property_i(), then pass a pointer to the array with these properties by calling capture_set_property_p().


Allocate an array large enough to store the video capture properties. The minimum number of elements in the array must be at least as large as the corresponding capture property associated with the array you are setting. For example, the minimum array sizes of CAPTURE_PROPERTY_FRAME_SEQNO and CAPTURE_PROPERTY_FRAME_FLAGS are determined by the size of CAPTURE_PROPERTY_FRAME_NBUFFERS.


0 if successful; or -1 if an error occurred (errno is set; refer to errno.h for more details). The return value and the value that's observed for errno may vary as they are dependent on the implementation by the library that handles your hardware.