Camera3_stream_buffer 구조체 참조
#include < camera3.h >
데이터 필드 | |
Camera3_stream_t * | 개울 |
buffer_handle_t * | 완충기 |
정수 | 상태 |
정수 | acquire_fence |
정수 | 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를 기다리지 않는 경우 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이 오류로 인해 입력 버퍼 획득 펜스를 기다리지 않는 경우 동기화 펜스는 출력 버퍼에 대해 처리되는 방식과 유사하게 처리되어야 합니다.
정수 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 호출 시 이 버퍼의 소유권이 즉시 다시 전송됩니다.
정수 상태 |
Camera3_stream_t * 스트림 |
이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.