camera2_frame_queue_dst_ops 結構體參考資料

camera2_frame_queue_dst_ops 結構體參考資料

#include < camera2.h >

資料欄位

int(*  dequeue_frame )(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer)
 
int(*  cancel_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)
 
int(*  enqueue_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)
 

詳細說明

影格輸出佇列通訊協定:

此架構會保留佇列及其內容。在開始時,佇列為空。

  1. 當裝置準備好填入輸出中繼資料影格時,必須從佇列中取出中繼資料緩衝區,並確保其大小符合要求。
  2. 接著,它應填入中繼資料緩衝區,並使用 enqueue_frame 將其放入影格佇列。架構會取得影格擁有權。
  3. 如果發生錯誤、要求清除管道或關閉,裝置必須透過呼叫 cancel_frame 將任何受影響的已從佇列中移除的影格傳回至架構。

定義位於檔案 camera2.h 的第 263 行。

欄位說明文件

int(* cancel_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)

將已從佇列中移除的中繼資料緩衝區傳回至架構,以便重複使用;請勿將其標示為已填滿。遇到錯誤或清除內部要求佇列時使用。

定義位於檔案 camera2.h 278 行。

int(* dequeue_frame)(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer)

取得要從架構填入的空白中繼資料緩衝區。新的中繼資料緩衝區將有足夠空間容納項目數量的中繼資料項目,以及 data_bytes 的額外儲存空間。在此處從佇列中移除的影格,必須透過 cancel_frame 或 enqueue_frame 傳回至架構。

定義位於檔案 camera2.h 270 行。

int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer)

將已完成的中繼資料影格放入影格輸出佇列。

定義位於檔案 camera2.h 284 行。


這個結構體的說明文件是由下列檔案產生: