7.38. ioctl VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY

7.38.1. 名稱

VIDIOC_G_PRIORITY - VIDIOC_S_PRIORITY - 查詢或請求與檔案描述符關聯的訪問優先順序

7.38.2. 概要

VIDIOC_G_PRIORITY

int ioctl(int fd, VIDIOC_G_PRIORITY, enum v4l2_priority *argp)

VIDIOC_S_PRIORITY

int ioctl(int fd, VIDIOC_S_PRIORITY, const enum v4l2_priority *argp)

7.38.3. 引數

fd

open() 返回的檔案描述符。

argp

指向 enum v4l2_priority 型別的指標。

7.38.4. 描述

要查詢當前的訪問優先順序,應用程式呼叫 VIDIOC_G_PRIORITY ioctl,並使用指向 enum v4l2_priority 變數的指標,驅動程式將當前優先順序儲存在該變數中。

要請求訪問優先順序,應用程式將所需的優先順序儲存在 enum v4l2_priority 變數中,並呼叫 VIDIOC_S_PRIORITY ioctl,並使用指向此變數的指標。

type v4l2_priority
enum v4l2_priority

V4L2_PRIORITY_UNSET

0

V4L2_PRIORITY_BACKGROUND

1

最低優先順序,通常是在後臺執行的應用程式,例如監視VBI傳輸。 如果多個應用程式想要以該優先順序從裝置讀取資料,則需要在使用者空間中執行代理應用程式。

V4L2_PRIORITY_INTERACTIVE

2

V4L2_PRIORITY_DEFAULT

2

中等優先順序,通常是由使用者啟動和互動控制的應用程式。 例如,電視觀看器,圖文電視瀏覽器,或僅是用於更改頻道或影片控制的“面板”應用程式。 除非應用程式請求其他優先順序,否則這是預設優先順序。

V4L2_PRIORITY_RECORD

3

最高優先順序。 只有一個檔案描述符可以具有此優先順序,它會阻止任何其他fd更改裝置屬性。 通常是必須不能中斷的應用程式,例如影片錄製。

7.38.5. 返回值

成功時返回0,出錯時返回-1,並且會適當地設定 errno 變數。 通用錯誤程式碼在 通用錯誤程式碼 章節中進行了描述。

EINVAL

請求的優先順序值無效。

EBUSY

另一個應用程式已經請求了更高的優先順序。