camera2_frame_queue_dst_ops 구조 참조

camera2_frame_queue_dst_ops 구조 참조

#include < camera2.h >

데이터 필드

int (* dequeue_frame ) (const struct camera2_frame_queue_dst_ops * q, size_t 항목, size_t 데이터 _ 바이트, camera_metadata_t ** 버퍼)
int (* cancel_frame ) (const struct camera2_frame_queue_dst_ops * q, camera_metadata_t * buffer)
int (* enqueue_frame ) (const struct camera2_frame_queue_dst_ops * q, camera_metadata_t * buffer)

상세 설명

프레임 출력 대기열 프로토콜 :

프레임 워크는 큐와 그 내용을 보유합니다. 처음에는 대기열이 비어 있습니다.

  1. 장치가 출력 메타 데이터 프레임을 채울 준비가되면 필요한 크기의 메타 데이터 버퍼를 대기열에서 빼야합니다.
  2. 그런 다음 메타 데이터 버퍼를 채우고 enqueue_frame을 사용하여 프레임 대기열에 배치해야합니다. 프레임 워크는 프레임의 소유권을 갖습니다.
  3. 오류, 파이프 라인 플러시 요청 또는 종료의 경우 기기는 cancel_frame을 호출하여 영향을받는 대기열에서 제외 된 프레임을 프레임 워크에 반환해야합니다.

camera2.h 파일의 263 번째 줄에서 정의되었습니다.

현장 문서

int (* cancel_frame) (const struct camera2_frame_queue_dst_ops * q, camera_metadata_t * buffer)

재사용을 위해 대기열에서 제외 된 메타 데이터 버퍼를 프레임 워크에 반환합니다. 채워진 것으로 표시하지 마십시오. 오류가 발생하거나 내부 요청 대기열을 비울 때 사용합니다.

camera2.h 파일의 278 번째 줄에서 정의되었습니다.

int (* dequeue_frame) (const struct camera2_frame_queue_dst_ops * q, size_t 항목, size_t 데이터 _ 바이트, 카메라 _ 메타 데이터 _t ** 버퍼)

프레임 워크에서 채울 빈 메타 데이터 버퍼를 가져옵니다. 새 메타 데이터 버퍼에는 메타 데이터 항목 수와 추가 스토리지의 data_bytes에 해당하는 항목을위한 공간이 있습니다. 여기서 대기열에서 제외 된 프레임은 cancel_frame 또는 enqueue_frame을 사용하여 프레임 워크로 반환되어야합니다.

camera2.h 파일의 270 번째 줄에서 정의되었습니다.

int (* enqueue_frame) (const struct camera2_frame_queue_dst_ops * q, camera_metadata_t * buffer)

완성 된 메타 데이터 프레임을 프레임 출력 대기열에 배치합니다.

camera2.h 파일의 284 번째 줄에서 정의되었습니다.


이 구조체에 대한 문서는 다음 파일에서 생성되었습니다.
  • 하드웨어 / libhardware / include / hardware / camera2.h