camera3_stream_buffer結構參考
#include < camera3.h >
資料欄位 | |
相機3_stream_t * | 溪流 |
緩衝區句柄_t * | 緩衝 |
整數 | 地位 |
整數 | 取得柵欄 |
整數 | 釋放柵欄 |
詳細說明
camera3_stream_buffer_t:
來自camera3流的單一緩衝區。它包括其父流的句柄、gralloc 緩衝區本身的句柄以及同步柵欄
緩衝區沒有指定它是用於輸入還是輸出;這是由其父流類型以及緩衝區如何傳遞到 HAL 設備決定的。
現場文檔
int acquire_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 因錯誤而從不等待輸入緩衝區取得柵欄,則同步柵欄的處理方式應與處理輸出緩衝區的方式類似。
intrelease_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_stream_t * 串流 |
該結構的文檔是從以下文件產生的:
- 硬體/libhardware/include/hardware/camera3.h