Tham chiếu cấu trúc camera3_stream_buffer

Tham chiếu cấu trúc camera3_stream_buffer

#include < camera3.h >

Trường dữ liệu

camera3_stream_t * suối
bộ đệm_handle_t * đệm
int trạng thái
int mua_fence
int phát hành_hàng rào

miêu tả cụ thể

camera3_stream_buffer_t:

Một bộ đệm duy nhất từ ​​luồng camera3. Nó bao gồm một bộ điều khiển cho luồng mẹ của nó, bộ điều khiển cho chính bộ đệm gralloc và hàng rào đồng bộ hóa

Bộ đệm không chỉ định liệu nó sẽ được sử dụng cho đầu vào hay đầu ra; được xác định bởi loại luồng chính của nó và cách bộ đệm được chuyển đến thiết bị HAL.

Định nghĩa tại dòng 1755 của file camera3.h .

Tài liệu hiện trường

int thu được_fence

Hàng rào đồng bộ hóa thu được cho bộ đệm này. HAL phải đợi trên hàng rào fd này trước khi thử đọc hoặc ghi vào bộ đệm này.

Khung có thể được đặt thành -1 để cho biết rằng không cần phải chờ đợi đối với bộ đệm này.

Khi HAL trả về bộ đệm đầu ra cho khung bằng process_capture_result(), thì Acacqui_fence phải được đặt thành -1. Nếu HAL không bao giờ đợi trên Acacqui_fence do lỗi khi điền bộ đệm, thì khi gọi process_capture_result() thì HAL phải đặt Release_fence của bộ đệm thành Acacqui_fence được khung truyền cho nó. Điều này sẽ cho phép khung chờ trên hàng rào trước khi sử dụng lại bộ đệm.

Đối với bộ đệm đầu vào, HAL không được thay đổi trường Acqui_fence trong lệnh gọi process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

Khi HAL trả về bộ đệm đầu vào cho khung bằng process_capture_result(), thì Acacqui_fence phải được đặt thành -1. Nếu HAL không bao giờ đợi trên hàng rào thu thập bộ đệm đầu vào do lỗi thì hàng rào đồng bộ hóa sẽ được xử lý tương tự như cách chúng được xử lý đối với bộ đệm đầu ra.

Định nghĩa tại dòng 1800 của file camera3.h .

bộ đệm_handle_t*

Xử lý gốc cho bộ đệm

Định nghĩa tại dòng 1764 của file camera3.h .

int phát hành_fence

Hàng rào đồng bộ phát hành cho bộ đệm này. HAL phải đặt hàng rào này khi trả bộ đệm về khung hoặc viết -1 để chỉ ra rằng bộ đệm này không cần chờ đợi.

Đối với bộ đệm đầu ra, hàng rào phải được đặt trong mảng đầu ra_buffers được chuyển đến process_capture_result().

<= CAMERA_DEVICE_API_VERSION_3_1:

Đối với bộ đệm đầu vào, hàng rào phát hành phải được đặt bằng lệnh gọi process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

Đối với bộ đệm đầu vào, hàng rào phải được đặt trong input_buffer được chuyển đến process_capture_result().

Sau khi báo hiệu Release_fence cho bộ đệm này, HAL không nên thực hiện bất kỳ nỗ lực nào nữa để truy cập bộ đệm này vì quyền sở hữu đã được chuyển hoàn toàn trở lại khung.

Nếu hàng rào -1 được chỉ định thì quyền sở hữu bộ đệm này sẽ được chuyển trở lại ngay lập tức khi có lệnh gọi process_capture_result.

Định nghĩa tại dòng 1827 của file camera3.h .

trạng thái int

Trạng thái hiện tại của bộ đệm, một trong các giá trị camera3_buffer_status_t. Khung sẽ không chuyển bộ đệm tới HAL đang ở trạng thái lỗi. Trong trường hợp HAL không thể lấp đầy bộ đệm, nó phải có trạng thái được đặt thành CAMERA3_BUFFER_STATUS_ERROR khi được trả về khung bằng process_capture_result().

Định nghĩa tại dòng 1773 của file camera3.h .

Việc xử lý luồng bộ đệm này được liên kết với

Định nghĩa tại dòng 1759 của file camera3.h .


Tài liệu cho cấu trúc này được tạo từ tệp sau:
  • phần cứng/libhardware/bao gồm/phần cứng/ camera3.h