7.38. ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY¶
7.38.1. 名称¶
VIDIOC_G_PRIORITY - VIDIOC_S_PRIORITY - 查询或请求与文件描述符关联的访问优先级
7.38.2. 概要¶
-
VIDIOC_G_PRIORITY¶
int ioctl(int fd, VIDIOC_G_PRIORITY, enum v4l2_priority *argp)
-
VIDIOC_S_PRIORITY¶
int ioctl(int fd, VIDIOC_S_PRIORITY, const enum v4l2_priority *argp)
7.38.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向
v4l2_priority
枚举类型的指针。
7.38.4. 描述¶
要查询当前的访问优先级,应用程序调用 VIDIOC_G_PRIORITY ioctl,并提供一个指向 enum v4l2_priority
变量的指针,驱动程序会将当前优先级存储在该变量中。
要请求访问优先级,应用程序将所需的优先级存储在 enum v4l2_priority
变量中,并调用 VIDIOC_S_PRIORITY ioctl,并提供指向该变量的指针。
-
type v4l2_priority¶
|
0 |
|
|
1 |
最低优先级,通常用于在后台运行的应用程序,例如监视 VBI 传输。如果多个应用程序希望以该优先级从设备读取数据,则需要在用户空间运行代理应用程序。 |
|
2 |
|
|
2 |
中等优先级,通常用于用户启动并交互控制的应用程序。例如,电视观看器、图文电视浏览器,或者只是用于更改频道或视频控制的“面板”应用程序。除非应用程序请求其他优先级,否则这是默认优先级。 |
|
3 |
最高优先级。只有一个文件描述符可以拥有此优先级,它会阻止任何其他 fd 更改设备属性。通常用于必须不被中断的应用程序,如视频录制。 |
7.38.5. 返回值¶
成功时返回 0,错误时返回 -1,并设置 errno
变量。通用错误代码在 通用错误代码 章节中描述。
- EINVAL
请求的优先级值无效。
- EBUSY
另一个应用程序已经请求了更高的优先级。