1.29. Streaming Parameters¶
Streaming parameters are intended to optimize the video capture process as well as I/O. Presently applications can request a high quality capture mode with the VIDIOC_S_PARM ioctl.
The current video standard determines a nominal number of frames per
second. If less than this number of frames is to be captured or output,
applications can request frame skipping or duplicating on the driver
side. This is especially useful when using the
read()
or write()
, which are
not augmented by timestamps or sequence counters, and to avoid
unnecessary data copying.
Finally these ioctls can be used to determine the number of buffers used
internally by a driver in read/write mode. For implications see the
section discussing the read()
function.
To get and set the streaming parameters applications call the
VIDIOC_G_PARM and
VIDIOC_S_PARM ioctl, respectively. They take
a pointer to a struct v4l2_streamparm
, which
contains a union holding separate parameters for input and output
devices.
These ioctls are optional, drivers need not implement them. If so, they
return the EINVAL
error code.