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 行目 の定義。


この構造体のドキュメントは、次のファイルから生成されました。