1.6. 調諧器與調製器¶
1.6.1. 調諧器¶
影片輸入裝置可以有一個或多個調諧器,用於解調射頻 (RF) 訊號。每個調諧器與一個或多個影片輸入相關聯,這取決於調諧器上的射頻 (RF) 聯結器數量。由 ioctl VIDIOC_ENUMINPUT ioctl 返回的相應 v4l2_input 結構體的 type 欄位被設定為 V4L2_INPUT_TYPE_TUNER,其 tuner 欄位包含調諧器的索引號。
無線電輸入裝置恰好有一個索引為零的調諧器,沒有影片輸入。
為了查詢和更改調諧器屬性,應用程式分別使用 VIDIOC_G_TUNER 和 VIDIOC_S_TUNER ioctl。由 VIDIOC_G_TUNER 返回的 v4l2_tuner 結構體也包含在查詢當前影片或無線電輸入的調諧器時適用的訊號狀態資訊。
注意
VIDIOC_S_TUNER 不會切換當前調諧器,即使存在多個調諧器。調諧器完全由當前影片輸入決定。當裝置有一個或多個調諧器時,驅動必須支援這兩個 ioctl,並且設定由 ioctl VIDIOC_QUERYCAP ioctl 返回的 v4l2_capability 結構體中的 V4L2_CAP_TUNER 標誌。
1.6.2. 調製器¶
影片輸出裝置可以有一個或多個調製器,用於調製影片訊號以進行輻射或連線到電視機或錄影機的天線輸入端。每個調製器與一個或多個影片輸出相關聯,這取決於調製器上的射頻 (RF) 聯結器數量。由 ioctl VIDIOC_ENUMOUTPUT ioctl 返回的相應 v4l2_output 結構體的 type 欄位被設定為 V4L2_OUTPUT_TYPE_MODULATOR,其 modulator 欄位包含調製器的索引號。
無線電輸出裝置恰好有一個索引為零的調製器,沒有影片輸出。
影片或無線電裝置不能同時支援調諧器和調製器。對於此類硬體,必須使用兩個獨立的裝置節點,一個支援調諧器功能,另一個支援調製器功能。原因是 VIDIOC_S_FREQUENCY ioctl 存在限制,即無法指定頻率是用於調諧器還是調製器。
為了查詢和更改調製器屬性,應用程式使用 VIDIOC_G_MODULATOR 和 VIDIOC_S_MODULATOR ioctl。請注意,VIDIOC_S_MODULATOR 不會切換當前調製器,即使存在多個調製器。調製器完全由當前影片輸出決定。當裝置有一個或多個調製器時,驅動必須支援這兩個 ioctl,並且設定由 ioctl VIDIOC_QUERYCAP ioctl 返回的 v4l2_capability 結構體中的 V4L2_CAP_MODULATOR 標誌。
1.6.3. 射頻¶
為了獲取和設定調諧器或調製器的射頻,應用程式使用 VIDIOC_G_FREQUENCY 和 VIDIOC_S_FREQUENCY ioctl,這兩個 ioctl 都接受一個指向 v4l2_frequency 結構體的指標。這些 ioctl 同樣適用於電視和無線電裝置。當支援調諧器或調製器 ioctl 時,或者當裝置是無線電裝置時,驅動必須支援這兩個 ioctl。