referência de estrutura camera_device_ops
#include < camera.h >
Campos de dados | |
int(* | set_preview_window )(struct camera_device *, struct preview_stream_ops *window) |
vazio(* | 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) |
vazio(* | enable_msg_type )(struct camera_device *, int32_t msg_type) |
vazio(* | disable_msg_type )(struct camera_device *, int32_t msg_type) |
int(* | msg_type_enabled )(struct camera_device *, int32_t msg_type) |
int(* | start_preview )(struct camera_device *) |
vazio(* | stop_preview )(struct camera_device *) |
int(* | preview_enabled )(struct camera_device *) |
int(* | store_meta_data_in_buffers )(struct camera_device *, int enable) |
int(* | start_recording )(struct camera_device *) |
vazio(* | stop_recording )(struct camera_device *) |
int(* | gravação_ativada )(struct camera_device *) |
vazio(* | release_recording_frame )(struct camera_device *, const void *opaque) |
int(* | auto_focus )(struct camera_device *) |
int(* | cancel_auto_focus )(struct camera_device *) |
int(* | take_picture )(struct camera_device *) |
int(* | cancel_picture )(struct camera_device *) |
int(* | set_parameters )(struct camera_device *, const char *parms) |
Caracteres *(* | get_parameters )(struct camera_device *) |
vazio(* | put_parameters )(struct camera_device *, char *) |
int(* | send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
vazio(* | release )(struct camera_device *) |
int(* | dump )(struct camera_device *, int fd) |
Descrição detalhada
Documentação de campo
int(* auto_focus)(struct camera_device *) |
int(* cancel_auto_focus)(struct camera_device *) |
Cancela a função de foco automático. Se o foco automático ainda estiver em andamento, esta função o cancelará. Esteja o foco automático em andamento ou não, esta função retornará a posição de foco ao padrão. Se a câmera não suportar foco automático, isso não é operacional.
int(* cancel_picture)(struct camera_device *) |
void(* disable_msg_type)(struct camera_device *, int32_t msg_type) |
Desative uma mensagem ou um conjunto de mensagens.
Uma vez recebida uma chamada para disableMsgType(CAMERA_MSG_VIDEO_FRAME), o HAL da câmera não deve depender de seu cliente para chamar releaseRecordingFrame() para liberar os quadros de gravação de vídeo enviados pelo HAL da câmera antes e depois da chamada disableMsgType(CAMERA_MSG_VIDEO_FRAME). Os clientes Camera HAL não devem modificar/acessar nenhum quadro de gravação de vídeo após chamar disableMsgType(CAMERA_MSG_VIDEO_FRAME).
int(* dump)(struct camera_device *, int fd) |
void(* enable_msg_type)(struct camera_device *, int32_t msg_type) |
char*(* get_parameters)(struct camera_device *) |
int(* msg_type_enabled)(struct camera_device *, int32_t msg_type) |
int(* preview_enabled)(struct camera_device *) |
void(* put_parameters)(struct camera_device *, char *) |
A câmera HAL usa sua própria memória para nos passar os parâmetros quando chamamos get_parameters. Use esta função para retornar a memória para a câmera HAL, se put_parameters não for NULL. Se put_parameters for NULL, você precisará usar free() para liberar a memória.
int(* gravação_ativada)(struct camera_device *) |
void(* release)(struct camera_device *) |
void(* release_recording_frame)(struct camera_device *, const void *opaque) |
Libera um quadro de registro retornado anteriormente por CAMERA_MSG_VIDEO_FRAME.
É responsabilidade do cliente HAL da câmera liberar os quadros de gravação de vídeo enviados pelo HAL da câmera antes que o HAL da câmera receba uma chamada para disableMsgType(CAMERA_MSG_VIDEO_FRAME). Após receber a chamada para disableMsgType(CAMERA_MSG_VIDEO_FRAME), é responsabilidade do HAL da câmera gerenciar o ciclo de vida dos quadros de gravação de vídeo.
int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
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) |
int(* set_parameters)(struct camera_device *, const char *parms) |
int(* set_preview_window)(struct camera_device *, struct preview_stream_ops *window) |
int(* start_preview)(struct camera_device *) |
int(* start_recording)(struct camera_device *) |
Inicie o modo de gravação. Quando uma imagem de registro está disponível, uma mensagem CAMERA_MSG_VIDEO_FRAME é enviada com o quadro correspondente. Cada quadro de registro deve ser liberado por um cliente HAL de câmera via releaseRecordingFrame() antes que o cliente chame disableMsgType(CAMERA_MSG_VIDEO_FRAME). Após o cliente chamar disableMsgType(CAMERA_MSG_VIDEO_FRAME), é responsabilidade do HAL da câmera gerenciar o ciclo de vida dos quadros de gravação de vídeo, e o cliente não deve modificar/acessar nenhum quadro de gravação de vídeo.
void(* stop_preview)(struct camera_device *) |
void(* stop_recording)(struct camera_device *) |
int(* store_meta_data_in_buffers)(struct camera_device *, int enable) |
Solicite a câmera HAL para armazenar metadados ou dados YUV reais nos buffers de vídeo enviados via CAMERA_MSG_VIDEO_FRAME para uma sessão de gravação. Se não for chamado, o comportamento padrão da câmera HAL é armazenar dados YUV reais nos buffers de vídeo.
Este método deve ser chamado antes de startRecording() para ser eficaz.
Se os metadados são armazenados nos buffers de vídeo, cabe ao receptor dos buffers de vídeo interpretar o conteúdo e encontrar os dados do quadro real com a ajuda dos metadados no buffer. Como isso é feito está fora do escopo deste método.
Alguns HALs de câmera podem não suportar o armazenamento de metadados nos buffers de vídeo, mas todos os HALs de câmera devem suportar o armazenamento de dados YUV reais nos buffers de vídeo. Se a câmera HAL não suportar o armazenamento de metadados nos buffers de vídeo quando for solicitado, INVALID_OPERATION deve ser retornado. É muito útil para o HAL da câmera passar metadados em vez dos dados de quadros reais diretamente para o codificador de vídeo, pois a quantidade de dados de quadros não compactados pode ser muito grande se o tamanho do vídeo for grande.
- Parâmetros
permitir se true, instrui a câmera HAL a armazenar metadados nos buffers de vídeo; false para instruir a câmera HAL a armazenar dados YUV reais nos buffers de vídeo.
- Devoluções
- OK no sucesso.
int(* take_picture)(struct camera_device *) |
A documentação para esta estrutura foi gerada a partir do seguinte arquivo:
- hardware/libhardware/include/hardware/ camera.h