5.8. ioctl MEDIA_IOC_SETUP_LINK¶
5.8.1. 名稱¶
MEDIA_IOC_SETUP_LINK - 修改連結的屬性
5.8.2. 概要¶
-
MEDIA_IOC_SETUP_LINK¶
int ioctl(int fd, MEDIA_IOC_SETUP_LINK, struct media_link_desc *argp)
5.8.3. 引數¶
fd由
open()返回的檔案描述符。argp指向 struct
media_link_desc的指標。
5.8.4. 描述¶
要更改連結屬性,應用程式需要填充一個 struct media_link_desc,包含連結標識資訊(源和目標pad)以及新的請求連結標誌。 然後它們呼叫 MEDIA_IOC_SETUP_LINK ioctl,並將指向該結構的指標作為引數。
唯一可配置的屬性是 ENABLED 連結標誌,用於啟用/停用連結。 標記為 IMMUTABLE 連結標誌的連結不能被啟用或停用。
連結配置不會對其他連結產生副作用。 如果目標pad上的已啟用連結阻止連結被啟用,則驅動程式將返回 EBUSY 錯誤程式碼。
只有標記為 DYNAMIC 連結標誌的連結才能在流式傳輸媒體資料時被啟用/停用。 嘗試啟用或停用流式傳輸的非動態連結將返回 EBUSY 錯誤程式碼。
如果找不到指定的連結,驅動程式將返回 EINVAL 錯誤程式碼。
5.8.5. 返回值¶
成功時返回 0,錯誤時返回 -1,並適當設定 errno 變數。 通用錯誤程式碼在 通用錯誤程式碼 章節中描述。
- EINVAL
struct
media_link_desc引用了一個不存在的連結,或者該連結是不可變的,並且嘗試修改其配置。