7.19. ioctl VIDIOC_ENUMOUTPUT¶
7.19.1. 名称¶
VIDIOC_ENUMOUTPUT - 枚举视频输出
7.19.2. 概要¶
-
VIDIOC_ENUMOUTPUT¶
int ioctl(int fd, VIDIOC_ENUMOUTPUT, struct v4l2_output *argp)
7.19.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向结构体
v4l2_output
的指针。
7.19.4. 描述¶
要查询视频输出的属性,应用程序初始化结构体 v4l2_output
的 index
字段,并使用指向此结构的指针调用 ioctl VIDIOC_ENUMOUTPUT。 如果索引超出范围,驱动程序将填充结构的其余部分或返回 EINVAL
错误代码。 要枚举所有输出,应用程序应从索引零开始,每次递增一,直到驱动程序返回 EINVAL
。
-
类型 v4l2_output¶
__u32 |
|
标识输出,由应用程序设置。 |
__u8 |
|
视频输出的名称,一个以 NUL 结尾的 ASCII 字符串,例如:“Vout”。 此信息供用户使用,最好是设备本身上的连接器标签。 |
__u32 |
|
输出类型,请参阅 输出类型。 |
__u32 |
|
驱动程序最多可以枚举 32 个视频和音频输出。 如果这是当前选择的视频输出,则此字段显示哪些音频输出可选择为当前输出。 这是一个位掩码。 LSB 对应于音频输出 0,MSB 对应于输出 31。 可以设置任意数量的位,也可以不设置。 当驱动程序不枚举音频输出时,不得设置任何位。 应用程序不得将其解释为缺乏音频支持。 驱动程序可能会自动选择音频输出而不枚举它们。 有关音频输出以及如何选择当前输出的详细信息,请参阅 音频输入和输出。 |
__u32 |
|
输出设备可以有零个或多个 RF 调制器。 当 |
|
每个视频输出都支持一种或多种不同的视频标准。 此字段是所有支持标准的集合。 有关视频标准以及如何切换的详细信息,请参阅 视频标准。 |
|
__u32 |
|
此字段提供输出的功能。 有关标志,请参阅 输出功能。 |
__u32 |
|
为将来的扩展保留。 驱动程序必须将数组设置为零。 |
|
1 |
此输出是一个模拟电视调制器。 |
|
2 |
任何非调制器视频输出,例如复合视频、S-Video、HDMI。 命名为 |
|
3 |
视频输出将被复制到 视频叠加。 |
|
0x00000002 |
此输出支持使用 |
|
0x00000004 |
此输出支持使用 |
|
0x00000008 |
此输出支持使用 |
7.19.5. 返回值¶
成功时返回 0,出错时返回 -1,并适当设置 errno
变量。 通用错误代码在 通用错误代码 章节中描述。
- EINVAL
结构体
v4l2_output
index
超出范围。