1.3. 應用程式優先順序

當多個應用程式共享一個裝置時,可能需要為它們分配不同的優先順序。與傳統的“rm -rf /”思維方式相反,例如,一個影片錄製應用程式可以阻止其他應用程式更改影片控制或切換當前電影片道。另一個目標是允許低優先順序應用程式在後臺工作,它們可以被使用者控制的應用程式搶佔,並在稍後自動重新獲得裝置的控制權。

由於這些功能無法完全在使用者空間中實現,V4L2 定義了 VIDIOC_G_PRIORITYVIDIOC_S_PRIORITY ioctl,用於請求和查詢與檔案描述符相關的訪問優先順序。開啟裝置會分配一箇中等優先順序,與早期版本的 V4L2 和不支援這些 ioctl 的驅動程式相容。需要不同優先順序的應用程式通常會在使用 ioctl VIDIOC_QUERYCAP ioctl 驗證裝置後呼叫 VIDIOC_S_PRIORITY

在另一個應用程式獲得更高優先順序後,更改驅動程式屬性的 ioctl(例如 VIDIOC_S_INPUT)將返回 EBUSY 錯誤碼。