7.36. ioctl VIDIOC_G_OUTPUT, VIDIOC_S_OUTPUT¶
7.36.1. 名称¶
VIDIOC_G_OUTPUT - VIDIOC_S_OUTPUT - 查询或选择当前视频输出
7.36.2. 概要¶
-
VIDIOC_G_OUTPUT¶
int ioctl(int fd, VIDIOC_G_OUTPUT, int *argp)
-
VIDIOC_S_OUTPUT¶
int ioctl(int fd, VIDIOC_S_OUTPUT, int *argp)
7.36.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向具有输出索引的整数的指针。
7.36.4. 描述¶
要查询当前视频输出,应用程序调用 VIDIOC_G_OUTPUT ioctl,并带有一个指向整数的指针,驱动程序在该整数中存储输出的编号,如 struct v4l2_output
index
字段。仅当没有视频输出时,此 ioctl 才会失败,并返回 EINVAL
错误代码。
要选择视频输出,应用程序将所需的输出编号存储在一个整数中,并调用 VIDIOC_S_OUTPUT ioctl,并带有一个指向该整数的指针。可能会产生副作用。例如,输出可能支持不同的视频标准,因此驱动程序可能会隐式切换当前标准。由于这些可能的副作用,应用程序必须在查询或协商任何其他参数之前选择一个输出。
有关视频输出的信息可使用 ioctl VIDIOC_ENUMOUTPUT ioctl 获取。
7.36.5. 返回值¶
成功时返回 0,出错时返回 -1,并适当地设置 errno
变量。通用错误代码在 通用错误代码 章节中描述。
- EINVAL
视频输出的编号超出范围,或者根本没有视频输出。