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 |
int | trạng thái |
int | gain_fence |
int | release_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.
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.
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.
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 ().
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