Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

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
buffer_handle_t *đệm
inttrạng thái
intgain_fence
intrelease_fence

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 xử lý đối với luồng mẹ của nó, xử lý đối với chính bộ đệm gralloc và các hàng rào đồng bộ hóa

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

Định nghĩa ở dòng 1755 của tệp camera3.h .

Tài liệu thực địa

int gain_fence

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

Khung có thể được đặt thành -1 để chỉ ra rằng không cần chờ đợi cho bộ đệm này.

Khi HAL trả về một bộ đệm đầu ra cho khuôn khổ với process_capture_result (), thì gain_fence phải được đặt thành -1. Nếu HAL không bao giờ chờ đợi trên get_fence do lỗi điền vào bộ đệm, thì khi gọi process_capture_result (), HAL phải đặt release_fence của bộ đệm là get_fence được khung công tác truyền cho nó. Điều này sẽ cho phép khung chờ đợi 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 get_fence trong quá trình gọi process_capture_request ().

> = CAMERA_DEVICE_API_VERSION_3_2:

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

Định nghĩa ở dòng 1800 của tệp camera3.h .

buffer_handle_t * đệm

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

Định nghĩa ở dòng 1764 của tệp camera3.h .

int release_fence

Hàng rào đồng bộ hóa phát hành cho bộ đệm này. HAL phải thiết lập hàng rào này khi trả lại bộ đệm cho khuôn khổ, hoặc viết -1 để chỉ ra rằng không cần chờ đợi cho bộ đệm này.

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

<= CAMERA_DEVICE_API_VERSION_3_1:

Đối với bộ đệm đầu vào, hàng rào giải phóng 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, các hàng rào phải được đặt trong bộ đệm đầu vào được chuyển tới process_capture_result ().

Sau khi báo hiệu release_fence cho vùng đệm này, HAL không nên thực hiện thêm bất kỳ nỗ lực nào để truy cập vùng đệ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 vùng đệm này sẽ được chuyển trở lại ngay lập tức khi gọi process_capture_result.

Định nghĩa ở dòng 1827 của tệp 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 cho HAL đang ở trạng thái lỗi. Trong trường hợp bộ đệm không được HAL lấp đầy, thì bộ đệm đó phải được đặt trạng thái thành CAMERA3_BUFFER_STATUS_ERROR khi được trả về khung với process_capture_result ().

Định nghĩa ở dòng 1773 của tệp camera3.h .

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

Định nghĩa ở dòng 1759 của tệp 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 / include / cứng / camera3.h