camera3_stream_buffer構造体リファレンス
#include < camera3.h >
データフィールド | |
camera3_stream_t * | ストリーム |
buffer_handle_t * | バッファ |
int | 状態 |
int | Acquisition_fence |
int | release_fence |
詳細な説明
camera3_stream_buffer_t:
camera3ストリームからの単一のバッファー。これには、親ストリームへのハンドル、grallocバッファー自体へのハンドル、および同期フェンスが含まれます。
バッファは、入力または出力のどちらに使用するかを指定しません。これは、その親ストリームタイプと、バッファがHALデバイスに渡される方法によって決まります。
ファイルcamera3.hの1755行で定義されています。
フィールドドキュメント
intacquire_fence |
このバッファの同期フェンスを取得します。 HALは、このバッファーからの読み取りまたはこのバッファーへの書き込みを試みる前に、このフェンスfdを待機する必要があります。
フレームワークを-1に設定して、このバッファーを待機する必要がないことを示すことができます。
HALがprocess_capture_result()を使用して出力バッファーをフレームワークに返す場合、acquire_fenceを-1に設定する必要があります。バッファの充填エラーが原因でHALがacquire_fenceを待機しない場合、process_capture_result()を呼び出すときに、HALはバッファのrelease_fenceをフレームワークから渡されるacquire_fenceに設定する必要があります。これにより、フレームワークはバッファを再利用する前にフェンスで待機できるようになります。
入力バッファーの場合、HALはprocess_capture_request()呼び出し中にacquire_fenceフィールドを変更してはなりません。
> = CAMERA_DEVICE_API_VERSION_3_2:
HALがprocess_capture_result()を使用して入力バッファーをフレームワークに返す場合、acquire_fenceを-1に設定する必要があります。エラーが原因でHALが入力バッファ取得フェンスを待機しない場合、同期フェンスは出力バッファの場合と同様に処理する必要があります。
ファイルcamera3.hの1800行で定義されています。
buffer_handle_t *バッファ |
バッファへのネイティブハンドル
ファイルcamera3.hの1764行で定義されています。
int release_fence |
このバッファのリリース同期フェンス。 HALは、バッファーをフレームワークに返すときにこのフェンスを設定するか、このバッファーを待機する必要がないことを示すために-1を書き込む必要があります。
出力バッファーの場合、フェンスはprocess_capture_result()に渡されるoutput_buffers配列に設定する必要があります。
<= CAMERA_DEVICE_API_VERSION_3_1:
入力バッファーの場合、リリースフェンスはprocess_capture_request()呼び出しで設定する必要があります。
> = CAMERA_DEVICE_API_VERSION_3_2:
入力バッファーの場合、フェンスはprocess_capture_result()に渡されるinput_bufferに設定する必要があります。
このバッファのrelease_fenceを通知した後、所有権が完全にフレームワークに戻されたため、HALはこのバッファへのアクセスをこれ以上試行しないでください。
-1のフェンスが指定された場合、このバッファーの所有権は、process_capture_resultの呼び出しの直後に戻されます。
ファイルcamera3.hの1827行で定義されています。
intステータス |
バッファの現在の状態、camera3_buffer_status_t値の1つ。フレームワークは、エラー状態にあるバッファーをHALに渡しません。バッファをHALで満たすことができなかった場合、process_capture_result()を使用してフレームワークに返されるときに、ステータスをCAMERA3_BUFFER_STATUS_ERRORに設定する必要があります。
ファイルcamera3.hの1773行で定義されています。
camera3_stream_t *ストリーム |
このバッファが関連付けられているストリームのハンドル
ファイルcamera3.hの1759行で定義されています。
この構造体のドキュメントは、次のファイルから生成されました。