專家
控制選項
定義於 fuchsia.camera/camera.fidl
這些是原始介面,用於相容性。為方便攜碼轉移,camera.h 中的名稱會保留。
建立訊息串
用戶端傳送的值,用於指出所需的串流特性。如果設定格式成功,系統就會接受串流要求。串流符記可用於從相機管理員提供介面的額外控制。驅動程式會提供保證:
1) 如果串流權杖收到 PEER_CLOSED
事件,驅動程式庫就會關閉串流。
2) 如果串流介面關閉,驅動程式庫會關閉事件配對。
要求
名稱 | 類型 |
---|---|
buffer_collection |
fuchsia.sysmem/BufferCollectionInfo
|
rate |
FrameRate
|
stream |
server_end<Stream>
|
stream_token |
handle<eventpair>
|
取得裝置資訊
要求
<空白>
回應
名稱 | 類型 |
---|---|
device_info |
DeviceInfo
|
取得格式
取得這部裝置的可用格式類型
請注意:這些格式會分頁至 MAX_FORMATS_PER_RESPONSE
,因此必須在收到 total_format_count 前核發多個 GetFormats
要求
名稱 | 類型 |
---|---|
index |
uint32
|
回應
名稱 | 類型 |
---|---|
formats |
vector<VideoFormat>
|
total_format_count |
uint32
|
status |
zx/Status
|
經理
定義於 fuchsia.camera/manager.fidl
相機管理工具可授予多組或多組攝影機的存取權
- 要求提供攝影機清單,並附上攝影機說明
- 您可以要求需要連線的相機可用格式清單。
- 使用 CreateStream 要求串流介面。
建立訊息串
建立具備指定存取權限的訊息串。這可能不會成功。如果成功,串流將取得指示的權利。
buffer_info
包含一組要與串流搭配使用的緩衝區。這個版本即將淘汰,請使用 CreateStreamV2。
要求
名稱 | 類型 |
---|---|
request |
VideoStream
|
buffer_info |
fuchsia.sysmem/BufferCollectionInfo
|
stream |
server_end<Stream>
|
client_token |
handle<eventpair>
|
CreateStreamV2
建立具備指定存取權限的訊息串。這可能不會成功。如果成功,串流將取得指示的權利。
buffer_info
包含一組要與串流搭配使用的緩衝區。
要求
名稱 | 類型 |
---|---|
request |
VideoStreamV2
|
buffer_info |
fuchsia.sysmem/BufferCollectionInfo
|
stream |
server_end<Stream>
|
client_token |
handle<eventpair>
|
取得裝置
傳回目前連接並列舉的所有視訊裝置清單。DeviceInfo 的 camera_id 欄位是用來在 GetFormats、GetStream 和 GetStreamAndBufferCollection 指定裝置。
要求
<空白>
回應
名稱 | 類型 |
---|---|
descriptions |
vector<DeviceInfo>
|
取得格式
取得相機的所有可用格式。
系統會從 Get Devices 傳回的 DeviceInfo 取得 camera_id
。
要求
名稱 | 類型 |
---|---|
camera_id |
uint64
|
index |
uint32
|
回應
名稱 | 類型 |
---|---|
formats |
vector<VideoFormat>
|
total_format_count |
uint32
|
湖水綠
定義位置:fuchsia.camera/camera.fidl
OnFrameAvailable
在有可用於處理的影格或發生錯誤時,驅動程式庫將訊息傳送至用戶端。
回應
名稱 | 類型 |
---|---|
frame |
FrameAvailableEvent
|
發行框架
解鎖指定影格,允許驅動程式庫重複使用記憶體。
要求
名稱 | 類型 |
---|---|
buffer_id |
uint32
|
開始
開始串流影格。
要求
<空白>
停止
停止串流影格。
要求
<空白>
結構
裝置資訊
定義於 fuchsia.camera/camera.fidl
裝置相關資訊。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
camera_id |
uint64
|
無預設 | |
vendor_id |
uint16
|
無預設 | |
vendor_name |
string
|
無預設 | |
product_id |
uint16
|
無預設 | |
product_name |
string
|
無預設 | |
max_stream_count |
uint16
|
裝置能夠同時支援的串流介面數量上限。 |
無預設 |
output_capabilities |
uint32
|
無預設 |
FrameAvailable 事件
定義於 fuchsia.camera/camera.fidl
在有可用於處理的影格或發生錯誤時,驅動程式庫將訊息傳送至用戶端。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
frame_status |
FrameStatus
|
如果發生錯誤,則為非零。 |
無預設 |
buffer_id |
uint32
|
緩衝區集合中的緩衝區索引。 |
無預設 |
metadata |
Metadata
|
無預設 |
畫面更新率
定義位置:fuchsia.camera/camera.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
frames_per_sec_numerator |
uint32
|
畫面更新率是 frame_per_sec_numerator / frame_per_sec_denominator。 |
無預設 |
frames_per_sec_denominator |
uint32
|
無預設 |
中繼資料
定義位置:fuchsia.camera/camera.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
timestamp |
int64
|
無預設 | |
data_size |
uint32
|
已新增:11
|
無預設 |
影片格式
定義位置:fuchsia.camera/camera.fidl
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
format |
fuchsia.sysmem/ImageFormat
|
無預設 | |
rate |
FrameRate
|
無預設 |
影片串流
定義於 fuchsia.camera/manager.fidl
攝影機管理員提供的串流。影片串流會參照攝影機,但可能會有來自及網際網路服務供應商 (ISP) 或其他處理單元的額外硬體和頻寬限制。我們正在淘汰這項功能,請使用下方的 VideoStreamV2。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
camera_id |
uint64
|
Camera_id 會對應至從 Get 裝置接收的 DeviceInfo 中所提供的 camera_id。 |
無預設 |
format |
VideoFormat
|
要求的影片格式。請注意,即使呼叫 CreateStream,仍須這個欄位才能設定影格速率。呼叫 CreateStream 時,format.format 應與 buffer_info.format 相符。 |
無預設 |
VideoStreamV2
定義於 fuchsia.camera/manager.fidl
偏好的串流版本。需要定義影片格式 (來自 fuchsia.hardware.camera) 的串流版本。串流會參照攝影機,但可能來自網際網路服務供應商 (ISP) 或其他處理單元的額外硬體和頻寬限制。新的程式碼應依附於此,因為移除依附元件時,另一個版本也會淘汰。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
camera_id |
uint64
|
Camera_id 會對應至從 Get 裝置接收的 DeviceInfo 中所提供的 camera_id。 |
無預設 |
format |
VideoFormat
|
要求的影片格式。請注意,即使呼叫 CreateStream,仍須這個欄位設定影格速率。呼叫 CreateStream 格式.format 時,應與 buffer_info.format 相符。 |
無預設 |
表情符號
FrameStatus strict
類型:uint32
定義於 fuchsia.camera/camera.fidl
影格已發出訊號時要設定的狀態。
名稱 | 值 | 說明 |
---|---|---|
確定 |
0 |
|
錯誤框架 |
1 |
建立影格時發生錯誤。與這則通知對應的資料緩衝區中不會顯示任何資料。 |
ERROR_BUFFER_FULL |
2 |
資料緩衝區中沒有可用的空間,導致影格遭到捨棄。 |
場景
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
CAMERA_OUTPUT_BURST |
2
|
uint32 |
|
CAMERA_OUTPUT_DEPTH |
16
|
uint32 |
|
CAMERA_OUTPUT_HDR |
8
|
uint32 |
|
CAMERA_OUTPUT_STEREO |
32
|
uint32 |
|
CAMERA_OUTPUT_STILL_IMAGE |
1
|
uint32 |
|
CAMERA_OUTPUT_STREAM |
4
|
uint32 |
|
CAMERA_OUTPUT_UNKNOWN |
0
|
uint32 |
提供一組粗略的功能。系統會在相機說明中使用這個結構,篩選掉不具備所需功能的相機。這組宣告會是位元欄位:CameraOutputCapabilities。 |
MAX_FORMATS_PER_回應 |
16
|
uint32 |