7.33. ioctl VIDIOC_G_INPUT, VIDIOC_S_INPUT

7.33.1. 名称

VIDIOC_G_INPUT - VIDIOC_S_INPUT - 查询或选择当前视频输入

7.33.2. 概要

VIDIOC_G_INPUT

int ioctl(int fd, VIDIOC_G_INPUT, int *argp)

VIDIOC_S_INPUT

int ioctl(int fd, VIDIOC_S_INPUT, int *argp)

7.33.3. 参数

fd

open() 返回的文件描述符。

argp

指向带有输入索引的整数的指针。

7.33.4. 描述

要查询当前视频输入,应用程序调用 VIDIOC_G_INPUT ioctl,并提供指向整数的指针,驱动程序会将输入编号存储在该整数中,如 struct v4l2_input index 字段。 仅当没有视频输入时,此 ioctl 才会失败,并返回 EINVAL

要选择视频输入,应用程序将所需输入的编号存储在一个整数中,并调用 VIDIOC_S_INPUT ioctl,并提供指向此整数的指针。 可能会产生副作用。 例如,输入可能支持不同的视频标准,因此驱动程序可能会隐式切换当前标准。 由于这些可能的副作用,应用程序必须先选择输入,然后才能查询或协商任何其他参数。

有关视频输入的信息可使用 ioctl VIDIOC_ENUMINPUT ioctl 获得。

7.33.5. 返回值

成功时返回 0,出错时返回 -1,并且 errno 变量会得到适当设置。 通用错误代码在 通用错误代码 章节中描述。

EINVAL

视频输入的编号超出范围。