Camera3_stream_buffer 구조체 참조

Camera3_stream_buffer 구조체 참조

#include < camera3.h >

데이터 필드

Camera3_stream_t * 개울
buffer_handle_t * 완충기
정수 상태
정수 acquire_fence
정수 release_fence

상세 설명

Camera3_stream_buffer_t:

Camera3 스트림의 단일 버퍼. 여기에는 상위 스트림에 대한 핸들, gralloc 버퍼 자체에 대한 핸들 및 동기화 펜스가 포함됩니다.

버퍼는 입력 또는 출력에 사용될지 여부를 지정하지 않습니다. 이는 상위 스트림 유형과 버퍼가 HAL 장치에 전달되는 방식에 따라 결정됩니다.

Camera3.h 파일의 1755번째 줄에 정의되어 있습니다.

현장 문서

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이 오류로 인해 입력 버퍼 획득 펜스를 기다리지 않는 경우 동기화 펜스는 출력 버퍼에 대해 처리되는 방식과 유사하게 처리되어야 합니다.

Camera3.h 파일의 1800번째 줄에 정의되어 있습니다.

buffer_handle_t* 버퍼

버퍼에 대한 기본 핸들

Camera3.h 파일의 1764번째 줄에 정의되어 있습니다.

정수 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.h 파일의 1827 행에 정의되어 있습니다.

정수 상태

Camera3_buffer_status_t 값 중 하나인 버퍼의 현재 상태입니다. 프레임워크는 오류 상태에 있는 HAL에 버퍼를 전달하지 않습니다. HAL로 버퍼를 채울 수 없는 경우 process_capture_result()를 사용하여 프레임워크로 반환될 때 상태가 CAMERA3_BUFFER_STATUS_ERROR로 설정되어야 합니다.

Camera3.h 파일의 1773 행에 정의되어 있습니다.

Camera3_stream_t * 스트림

이 버퍼와 연관된 스트림의 핸들

Camera3.h 파일의 1759 행에 정의되어 있습니다.


이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.