7.32. ioctl VIDIOC_G_FREQUENCY, VIDIOC_S_FREQUENCY¶
7.32.1. 名称¶
VIDIOC_G_FREQUENCY - VIDIOC_S_FREQUENCY - 获取或设置调谐器或调制器的无线电频率
7.32.2. 概要¶
-
VIDIOC_G_FREQUENCY¶
int ioctl(int fd, VIDIOC_G_FREQUENCY, struct v4l2_frequency *argp)
-
VIDIOC_S_FREQUENCY¶
int ioctl(int fd, VIDIOC_S_FREQUENCY, const struct v4l2_frequency *argp)
7.32.3. 参数¶
fd
由
open()
返回的文件描述符。argp
指向 struct
v4l2_frequency
的指针。
7.32.4. 描述¶
要获取当前的调谐器或调制器无线电频率,应用程序需要将 struct v4l2_frequency
的 tuner
字段设置为相应的调谐器或调制器编号(只有输入设备有调谐器,只有输出设备有调制器),将 reserved
数组清零,并使用指向此结构的指针调用 VIDIOC_G_FREQUENCY ioctl。驱动程序将当前频率存储在 frequency
字段中。
要更改当前的调谐器或调制器无线电频率,应用程序需要初始化 struct v4l2_frequency
的 tuner
、type
和 frequency
字段以及 reserved
数组,并使用指向此结构的指针调用 VIDIOC_S_FREQUENCY ioctl。当请求的频率不可行时,驱动程序将采用最接近的可能值。但是 VIDIOC_S_FREQUENCY 是一个只写 ioctl,它不返回实际的新频率。
-
type v4l2_frequency¶
__u32 |
|
调谐器或调制器索引号。该值与 struct |
__u32 |
|
调谐器类型。该值与 struct |
__u32 |
|
调谐频率,以 62.5 kHz 为单位,或者如果设置了 struct |
__u32 |
|
保留供将来扩展使用。驱动程序和应用程序必须将该数组设置为零。 |
7.32.5. 返回值¶
成功时返回 0,出错时返回 -1,并适当设置 errno
变量。通用错误代码在 通用错误代码 章节中描述。
- EINVAL
tuner
索引超出范围或type
字段中的值错误。- EBUSY
硬件搜索正在进行中。