camera3_stream_buffer 構造体リファレンス
#include <
camera3.h
>
データ フィールド |
|
camera3_stream_t * | stream |
buffer_handle_t * | バッファ |
int | status |
int | acquire_fence |
int | release_fence |
詳細な説明
camera3_stream_buffer_t:
camera3 ストリームからの単一のバッファ。親ストリームへのハンドル、gralloc バッファ自体へのハンドル、同期フェンスが含まれます。
バッファには、入力用か出力用かを指定しません。これは、親ストリームのタイプと、バッファが HAL デバイスに渡される方法によって決まります。
フィールドのドキュメント
int acquire_fence |
このバッファの取得同期フェンス。HAL は、このバッファからの読み取りまたは書き込みを試行する前に、このフェンス fd を待機する必要があります。
このバッファに待機が不要であることを示すために、フレームワークを -1 に設定できます。
HAL が process_capture_result() で出力バッファをフレームワークに返す場合、acquire_fence は -1 に設定する必要があります。バッファの入力エラーが原因で HAL が acquire_fence を待機しない場合、HAL は process_capture_result() を呼び出すときに、バッファの 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() に渡される 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 の呼び出し時に直ちに転送されます。
int status |
camera3_stream_t * ストリーム |
この構造体のドキュメントは、次のファイルから生成されました。
- hardware/libhardware/include/hardware/ camera3.h