Camera3_stream_buffer 構造体のリファレンス
#include < camera3.h >
データフィールド | |
カメラ3_ストリーム_t * | ストリーム |
バッファハンドル_t * | バッファ |
整数 | 状態 |
整数 | フェンスの取得 |
整数 | リリースフェンス |
詳細な説明
カメラ3_ストリーム_バッファ_t:
Camera3 ストリームからの単一のバッファー。これには、親ストリームへのハンドル、gralloc バッファ自体へのハンドル、および同期フェンスが含まれます。
バッファーは、入力に使用されるか出力に使用されるかは指定しません。これは、親ストリームのタイプと、バッファが HAL デバイスに渡される方法によって決まります。
フィールドドキュメント
int 取得_フェンス |
このバッファの同期フェンスを取得します。 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 が入力バッファー取得フェンスを待機しない場合、同期フェンスは出力バッファーで処理される方法と同様に処理される必要があります。
int release_fence |
このバッファのリリース同期フェンス。 HAL は、バッファをフレームワークに返すときにこのフェンスを設定するか、-1 を書き込んでこのバッファを待機する必要がないことを示す必要があります。
出力バッファの場合、 process_capture_result() に渡される out_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_stream_t * ストリーム |
この構造体のドキュメントは次のファイルから生成されました。