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
硬體搜尋正在進行中。