7.23. ioctl VIDIOC_G_AUDOUT, VIDIOC_S_AUDOUT¶
7.23.1. 名稱¶
VIDIOC_G_AUDOUT - VIDIOC_S_AUDOUT - 查詢或選擇當前音訊輸出
7.23.2. 概要¶
-
VIDIOC_G_AUDOUT¶
int ioctl(int fd, VIDIOC_G_AUDOUT, struct v4l2_audioout *argp)
-
VIDIOC_S_AUDOUT¶
int ioctl(int fd, VIDIOC_S_AUDOUT, const struct v4l2_audioout *argp)
7.23.3. 引數¶
fd由
open()返回的檔案描述符。argp指向結構體
v4l2_audioout的指標。
7.23.4. 描述¶
要查詢當前音訊輸出,應用程式將結構體 v4l2_audioout 的 reserved 陣列清零,並使用指向此結構的指標呼叫 VIDIOC_G_AUDOUT ioctl。 當裝置沒有音訊輸入,或者沒有與當前影片輸出組合的音訊輸入時,驅動程式會填充結構的其餘部分或返回 EINVAL 錯誤程式碼。
音訊輸出沒有可寫屬性。 然而,要選擇當前音訊輸出,應用程式可以初始化結構體 v4l2_audioout 結構的 index 欄位和 reserved 陣列(將來可能包含可寫屬性),並呼叫 VIDIOC_S_AUDOUT ioctl。 驅動程式切換到請求的輸出,或者當索引超出範圍時返回 EINVAL 錯誤程式碼。 這是一個只寫 ioctl,它不像 VIDIOC_G_AUDOUT 那樣返回當前音訊輸出屬性。
注意
電視卡上將接收到的音訊訊號環回到音效卡的聯結器不屬於此意義上的音訊輸出。
-
type v4l2_audioout¶
__u32 |
|
標識音訊輸出,由驅動程式或應用程式設定。 |
__u8 |
|
音訊輸出的名稱,以 NUL 結尾的 ASCII 字串,例如:“Line Out”。 此資訊供使用者使用,最好是裝置本身的聯結器標籤。 |
__u32 |
|
音訊功能標誌,尚未定義。 驅動程式必須將此欄位設定為零。 |
__u32 |
|
音訊模式,尚未定義。 驅動程式和應用程式(在 |
__u32 |
|
保留供將來擴充套件。 驅動程式和應用程式必須將陣列設定為零。 |
7.23.5. 返回值¶
成功返回 0,出錯返回 -1,並適當地設定 errno 變數。 泛型錯誤程式碼在 泛型錯誤程式碼 章節中描述。
- EINVAL
沒有與當前影片輸出組合的音訊輸出,或者所選音訊輸出的編號超出範圍或未組合。