5.8. ioctl MEDIA_IOC_SETUP_LINK¶
5.8.1. 名称¶
MEDIA_IOC_SETUP_LINK - 修改链接的属性
5.8.2. 概要¶
-
MEDIA_IOC_SETUP_LINK¶
int ioctl(int fd, MEDIA_IOC_SETUP_LINK, struct media_link_desc *argp)
5.8.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向结构体
media_link_desc
的指针。
5.8.4. 描述¶
要更改链接属性,应用程序需要使用链接标识信息(源和接收端 pad)和新的请求的链接标志填充结构体 media_link_desc
。然后,它们使用指向该结构的指针调用 MEDIA_IOC_SETUP_LINK ioctl。
唯一可配置的属性是 ENABLED
链接标志,用于启用/禁用链接。标有 IMMUTABLE
链接标志的链接不能启用或禁用。
链接配置对其他链接没有副作用。如果接收端 pad 上的启用链接阻止该链接被启用,则驱动程序将返回 EBUSY
错误代码。
只有标有 DYNAMIC
链接标志的链接才能在流式传输媒体数据时启用/禁用。尝试启用或禁用流式传输的非动态链接将返回 EBUSY
错误代码。
如果找不到指定的链接,驱动程序将返回 EINVAL
错误代码。
5.8.5. 返回值¶
成功时返回 0,错误时返回 -1 并且 errno
变量会被适当设置。通用错误代码在 通用错误代码 章节中描述。
- EINVAL
结构体
media_link_desc
引用了一个不存在的链接,或者该链接是不可变的并且尝试修改其配置。