컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

camera_device_ops 구조체 참조

camera_device_ops 구조체 참조

#include < camera.h >

데이터 필드

정수(* set_preview_window )( 카메라_장치 구성 *, 미리보기_스트림_ 옵스 구성 *창)
무효의(* set_callbacks )(구조체 카메라_장치 *, 카메라_알림_콜백 알림 _cb , 카메라_데이터_콜백 데이터 _cb , 카메라_데이터_타임 스탬프_콜백 데이터_cb_timestamp , 카메라_ 요청_메모리 get_memory , 무효 *사용자)
무효의(* enable_msg_type )(카메라_장치 구조 *, int32_t msg_type )
무효의(* disable_msg_type )(카메라_장치 구조 *, int32_t msg_type )
정수(* msg_type_enabled )(카메라_장치 구조 *, int32_t msg_type )
정수(* start_preview )( 카메라_장치 구성 *)
무효의(* stop_preview )( 카메라_장치 구성 *)
정수(* 미리 보기_활성화 )( 카메라_장치 구조 *)
정수(* store_meta_data_in_buffers )( 카메라_장치 구조 *, int 활성화)
정수(* start_recording )( 카메라_장치 구성 *)
무효의(* stop_recording )( 카메라_장치 구조 *)
정수(* 기록 _활성화 )( 카메라_장치 구조 *)
무효의(* release_recording_frame )( 카메라_장치 구조 *, const void *불투명)
정수(* auto_focus )( 카메라_장치 구조 *)
정수(* cancel_auto_focus )( 카메라_장치 구조 *)
정수(* take_picture )( 카메라_장치 구조 *)
정수(* cancel_picture )( 카메라_장치 구조 *)
정수(* set_parameters )( 카메라_장치 구성 *, const char *parms)
문자 *(* get_parameters )( 카메라_장치 구조 *)
무효의(* put_parameters )( 카메라_장치 구조 *, 문자 *)
정수(* send_command )(구조체 카메라_장치 *, int32_t cmd, int32_t arg1, int32_t arg2)
무효의(* 릴리스 )( 카메라_장치 구조 *)
정수(* 덤프 )( 카메라_장치 구조 *, int fd)

상세 설명

파일 camera.h99 번째 줄에 정의되어 있습니다.

현장 문서

int(* auto_focus )(카메라_장치 구조 *)

자동 초점 시작, 초점이 완료되면 알림 콜백 루틴이 CAMERA_MSG_FOCUS와 함께 한 번 호출됩니다. 다른 자동 초점이 필요한 경우 autoFocus()가 다시 호출됩니다.

파일 camera.h227 번째 줄에 정의되어 있습니다.

int(* cancel_auto_focus)( 카메라_장치 구조 *)

자동 초점 기능을 취소합니다. 자동 초점이 계속 진행 중인 경우 이 기능은 자동 초점을 취소합니다. 자동 초점이 진행 중이든 아니든 이 기능은 초점 위치를 기본값으로 되돌립니다. 카메라가 자동 초점을 지원하지 않는 경우 이는 작동하지 않습니다.

파일 camera.h235 번째 줄에 정의되어 있습니다.

int(* cancel_picture)(struct camera_device *)

takePicture로 시작된 사진을 취소합니다. 사진이 촬영되고 있지 않을 때 이 메서드를 호출하는 것은 금물입니다.

파일 camera.h246 번째 줄에 정의되어 있습니다.

무효(* disable_msg_type)(struct camera_device *, int32_t msg_type)

메시지 또는 일련의 메시지를 비활성화합니다.

disableMsgType(CAMERA_MSG_VIDEO_FRAME)에 대한 호출을 수신하면 카메라 HAL은 클라이언트가 releaseRecordingFrame()을 호출하여 disableMsgType(CAMERA_MSG_VIDEO_FRAME) 호출 전후에 카메라 HAL에서 보낸 동영상 녹화 프레임을 해제하도록 의존해서는 안 됩니다. 카메라 HAL 클라이언트는 disableMsgType(CAMERA_MSG_VIDEO_FRAME)을 호출한 후 비디오 녹화 프레임을 수정/액세스해서는 안 됩니다.

파일 camera.h132 번째 줄에 정의가 있습니다.

int(* 덤프)( 카메라_장치 구조 *, int fd)

카메라 하드웨어의 덤프 상태

파일 camera.h282 번째 줄에 정의되어 있습니다.

무효(* enable_msg_type)(구조체 카메라_장치 *, int32_t msg_type)

다음 세 함수는 모두 msg_type을 사용합니다. 이는 include/ui/Camera.h에 정의된 메시지의 비트마스크입니다.h 메시지 또는 메시지 세트를 활성화합니다.

파일 camera.h120 번째 줄에 정의.

char*(* get_parameters )(구조체 카메라 장치 *)

카메라 매개변수를 검색합니다. 카메라 HAL에서 반환된 버퍼는 put_parameters가 NULL이 아닌 경우 put_parameters와 함께 다시 반환되어야 합니다.

파일 camera.h258 번째 줄에 정의가 있습니다.

int(* msg_type_enabled)(struct camera_device *, int32_t msg_type)

메시지 또는 메시지 세트가 활성화되었는지 여부를 쿼리합니다. 이것은 AND로 작동하며 쿼리된 메시지 중 하나라도 꺼져 있으면 false를 반환합니다.

파일 camera.h139 번째 줄에 정의되어 있습니다.

int(* 미리보기_활성화)( 카메라_장치 구조 *)

미리보기가 활성화된 경우 true를 반환합니다.

파일 camera.h154 번째 줄에 정의가 있습니다.

무효(* put_parameters )(구조체 카메라 장치 *, 문자 *)

카메라 HAL은 자체 메모리를 사용하여 get_parameters를 호출할 때 매개변수를 전달합니다. put_parameters가 NULL이 아닌 경우 이 함수를 사용하여 메모리를 카메라 HAL로 다시 반환합니다. put_parameters가 NULL이면 free()를 사용하여 메모리를 해제해야 합니다.

파일 camera.h265 번째 줄에 정의가 있습니다.

int(* recording_enabled)(구조체 camera_device *)

녹음이 활성화된 경우 true를 반환합니다.

파일 camera.h208 행 정의.

무효(* 릴리스)( 카메라_장치 구조 *)

이 개체가 소유한 하드웨어 리소스를 해제합니다. 이것은 소멸자에서 수행 되지 않습니다 .

파일 camera.h277 행 정의.

무효(* release_recording_frame)(구조체 카메라 장치 *, const 무효 *불투명)

CAMERA_MSG_VIDEO_FRAME에서 이전에 반환된 레코드 프레임을 해제합니다.

카메라 HAL이 disableMsgType(CAMERA_MSG_VIDEO_FRAME)에 대한 호출을 수신하기 전에 카메라 HAL에서 보낸 비디오 녹화 프레임을 해제하는 것은 카메라 HAL 클라이언트의 책임입니다. disableMsgType(CAMERA_MSG_VIDEO_FRAME)에 대한 호출을 수신한 후 비디오 녹화 프레임의 수명 주기를 관리하는 것은 카메라 HAL의 책임입니다.

파일 camera.h219 번째 줄에 정의되어 있습니다.

int(* send_command)(구조 카메라_장치 *, int32_t cmd, int32_t arg1, int32_t arg2)

카메라 드라이버에 명령을 보냅니다.

파일 camera.h270 번째 줄에 정의.

void(* set_callbacks)(struct camera_device *, camera_notify_callback notify_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void *user)

알림 및 데이터 콜백 설정

파일 camera.h105 번째 줄에 정의.

int(* set_parameters)( 카메라_장치 구조 *, const char *parms)

카메라 매개변수를 설정합니다. 매개변수가 유효하지 않거나 지원되지 않으면 BAD_VALUE를 반환합니다.

파일 camera.h252 번째 줄에 정의가 있습니다.

int(* set_preview_window )(카메라_장치 구성 *, 미리보기_스트림_ 옵스 구성 *창)

미리보기 프레임이 전송되는 ANativeWindow 설정

파일 camera.h101 번째 줄에 정의가 있습니다.

int(* start_preview )(구조 카메라_장치 *)

미리보기 모드를 시작합니다.

파일 camera.h144 번째 줄에 정의가 있습니다.

int(* start_recording)(struct camera_device *)

녹화 모드를 시작합니다. 녹화 이미지가 있으면 해당 프레임과 함께 CAMERA_MSG_VIDEO_FRAME 메시지가 전송됩니다. 모든 레코드 프레임은 클라이언트가 disableMsgType(CAMERA_MSG_VIDEO_FRAME)을 호출하기 전에 releaseRecordingFrame()을 통해 카메라 HAL 클라이언트에서 해제해야 합니다. 클라이언트가 disableMsgType(CAMERA_MSG_VIDEO_FRAME)을 호출한 후 비디오 녹화 프레임의 수명 주기를 관리하는 것은 카메라 HAL의 책임이며 클라이언트는 비디오 녹화 프레임을 수정/액세스해서는 안 됩니다.

파일 camera.h198 번째 줄에 정의되어 있습니다.

무효(* stop_preview )(카메라_장치 구성 *)

이전에 시작한 미리보기를 중지합니다.

파일 camera.h149 번째 줄에 정의되어 있습니다.

무효(* stop_recording )(구조체 카메라 장치 *)

이전에 시작한 녹음을 중지합니다.

파일 camera.h203 행 정의.

int(* store_meta_data_in_buffers )(카메라_장치 구조 *, int 활성화)

녹화 세션을 위해 CAMERA_MSG_VIDEO_FRAME를 통해 전송된 비디오 버퍼에 메타 데이터 또는 실제 YUV 데이터를 저장하도록 카메라 HAL에 요청합니다. 호출되지 않으면 기본 카메라 HAL 동작은 실제 YUV 데이터를 비디오 버퍼에 저장하는 것입니다.

이 메소드는 효과적이기 위해 startRecording() 전에 호출되어야 합니다.

메타 데이터가 비디오 버퍼에 저장되어 있는 경우 내용을 해석하고 버퍼의 메타 데이터를 사용하여 실제 프레임 데이터를 찾는 것은 비디오 버퍼의 수신기에 달려 있습니다. 이 작업을 수행하는 방법은 이 방법의 범위를 벗어납니다.

일부 카메라 HAL은 비디오 버퍼에 메타 데이터 저장을 지원하지 않을 수 있지만 모든 카메라 HAL은 비디오 버퍼에 실제 YUV 데이터 저장을 지원해야 합니다. 카메라 HAL이 요청 시 비디오 버퍼에 메타 데이터 저장을 지원하지 않는 경우 INVALID_OPERATION이 반환되어야 합니다. 비디오 크기가 크면 압축되지 않은 프레임 데이터의 양이 매우 클 수 있기 때문에 카메라 HAL이 실제 프레임 데이터가 아닌 메타 데이터를 비디오 인코더에 직접 전달하는 것은 매우 유용합니다.

매개변수
~할 수 있게 하다 비디오 버퍼에 메타 데이터를 저장하도록 카메라 HAL에 지시하려면 true이고; 비디오 버퍼에 실제 YUV 데이터를 저장하도록 카메라 HAL에 지시하려면 false입니다.
보고
성공했습니다.

파일 camera.h186 번째 줄에 정의되어 있습니다.

int(* take_picture )(구조 카메라_장치 *)

사진을 찍다.

파일 camera.h240 번째 줄에 정의되어 있습니다.


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