7.23. ioctl VIDIOC_G_AUDOUT, VIDIOC_S_AUDOUT¶
7.23.1. 名称¶
VIDIOC_G_AUDOUT - VIDIOC_S_AUDOUT - 查询或选择当前的音频输出
7.23.2. 概要¶
-
VIDIOC_G_AUDOUT¶
int ioctl(int fd, VIDIOC_G_AUDOUT, struct v4l2_audioout *argp)
-
VIDIOC_S_AUDOUT¶
int ioctl(int fd, VIDIOC_S_AUDOUT, const struct v4l2_audioout *argp)
7.23.3. 参数¶
fd
open()
返回的文件描述符。argp
指向
v4l2_audioout
结构的指针。
7.23.4. 描述¶
要查询当前的音频输出,应用程序需要将 v4l2_audioout
结构的 reserved
数组清零,并调用带有指向此结构的指针的 VIDIOC_G_AUDOUT
ioctl。当设备没有音频输入,或者没有与当前视频输出结合使用的音频输入时,驱动程序会填充结构的其余部分或返回 EINVAL
错误代码。
音频输出没有可写属性。然而,要选择当前的音频输出,应用程序可以初始化 v4l2_audioout
结构的 index
字段和 reserved
数组(将来可能包含可写属性),并调用 VIDIOC_S_AUDOUT
ioctl。驱动程序切换到请求的输出,或者当索引超出范围时返回 EINVAL
错误代码。这是一个只写 ioctl,它不会像 VIDIOC_G_AUDOUT
那样返回当前的音频输出属性。
注意
电视卡上将接收到的音频信号环回到声卡的连接器不属于此意义上的音频输出。
-
type v4l2_audioout¶
__u32 |
|
标识音频输出,由驱动程序或应用程序设置。 |
__u8 |
|
音频输出的名称,以 NUL 结尾的 ASCII 字符串,例如:“Line Out”。此信息供用户使用,最好是设备本身的连接器标签。 |
__u32 |
|
音频功能标志,尚未定义。驱动程序必须将此字段设置为零。 |
__u32 |
|
音频模式,尚未定义。驱动程序和应用程序(在 |
__u32 |
|
保留供将来扩展使用。驱动程序和应用程序必须将此数组设置为零。 |
7.23.5. 返回值¶
成功时返回 0,错误时返回 -1,并设置 errno
变量。通用错误代码在 通用错误代码 章节中描述。
- EINVAL
没有音频输出与当前视频输出结合使用,或者所选音频输出的编号超出范围,或者它没有结合使用。