Referência da estrutura camera_device_ops

Referência da estrutura camera_device_ops

#include < camera.h >

Campos de dados

int(*  set_preview_window )(struct camera_device *, struct preview_stream_ops *window)
 
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)
 
void(*  enable_msg_type )(struct camera_device *, int32_t msg_type)
 
void(*  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 *)
 
void(*  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 *)
 
void(*  stop_recording )(struct camera_device *)
 
int(*  recording_enabled )(struct camera_device *)
 
void(*  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)
 
char *(*  get_parameters )(struct camera_device *)
 
void(*  put_parameters )(struct camera_device *, char *)
 
int(*  send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
 
void(*  release )(struct camera_device *)
 
int(*  dump )(struct camera_device *, int fd)
 

Descrição detalhada

Definição na linha 99 do arquivo camera.h .

Documentação do campo

int(* auto_focus)(struct camera_device *)

Inicia o foco automático. A rotina de callback de notificação é chamada com CAMERA_MSG_FOCUS uma vez quando o foco é concluído. A função autoFocus() é chamada novamente se outro foco automático for necessário.

Definição na linha 227 do arquivo camera.h .

int(* cancel_auto_focus)(struct camera_device *)

Cancela a função de foco automático. Se o foco automático ainda estiver em andamento, essa função vai cancelá-lo. Independentemente de o foco automático estar em andamento ou não, essa função vai retornar a posição de foco para o padrão. Se a câmera não tiver suporte para foco automático, isso não vai funcionar.

Definição na linha 235 do arquivo camera.h .

int(* cancel_picture)(struct camera_device *)

Cancele uma foto que foi iniciada com takePicture. Chamar esse método quando nenhuma foto está sendo tirada não causa nenhum efeito.

Definição na linha 246 do arquivo camera.h .

void(* disable_msg_type)(struct camera_device *, int32_t msg_type)

Desative uma mensagem ou um conjunto de mensagens.

Depois de receber uma chamada para disableMsgType(CAMERA_MSG_VIDEO_FRAME), o HAL da câmera não deve depender do cliente para chamar releaseRecordingFrame() e liberar os frames de gravação de vídeo enviados pelo HAL da câmera antes e depois da chamada disableMsgType(CAMERA_MSG_VIDEO_FRAME). Os clientes do HAL da câmera não podem modificar/acessar nenhum frame de gravação de vídeo após chamar disableMsgType(CAMERA_MSG_VIDEO_FRAME).

Definição na linha 132 do arquivo camera.h .

int(* dump)(struct camera_device *, int fd)

Estado de despejo do hardware da câmera

Definição na linha 282 do arquivo camera.h .

void(* enable_msg_type)(struct camera_device *, int32_t msg_type)

As três funções a seguir usam um msg_type, que é uma máscara de bits das mensagens definidas em include/ui/Camera.h. Ative uma mensagem ou um conjunto de mensagens.

Definição na linha 120 do arquivo camera.h .

char*(* get_parameters)(struct camera_device *)

Extraia os parâmetros da câmera. O buffer retornado pelo HAL da câmera precisa ser retornado a ele com put_parameters, se put_parameters não for NULL.

Definição na linha 258 do arquivo camera.h .

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

Consultar se uma mensagem ou um conjunto de mensagens está ativado. Isso funciona como um AND. Se alguma das mensagens consultadas estiver desativada, o resultado será falso.

Definição na linha 139 do arquivo camera.h .

int(* preview_enabled)(struct camera_device *)

Retorna verdadeiro se a visualização estiver ativada.

Definição na linha 154 do arquivo camera.h .

void(* put_parameters)(struct camera_device *, char *)

O HAL da câmera usa a própria memória para transmitir os parâmetros quando chamamos get_parameters. Use essa função para retornar a memória ao HAL da câmera, se put_parameters não for NULL. Se put_parameters for NULL, use free() para liberar a memória.

Definição na linha 265 do arquivo camera.h .

int(* recording_enabled)(struct camera_device *)

Retorna verdadeiro se a gravação estiver ativada.

Definição na linha 208 do arquivo camera.h .

void(* release)(struct camera_device *)

Libere os recursos de hardware pertencentes a esse objeto. Isso não é feito no destrutor.

Definição na linha 277 do arquivo camera.h .

void(* release_recording_frame)(struct camera_device *, const void *opaque)

Libere um frame de gravação retornado anteriormente por CAMERA_MSG_VIDEO_FRAME.

É responsabilidade do cliente da HAL da câmera liberar os frames de gravação de vídeo enviados pela HAL da câmera antes que ela receba uma chamada para disableMsgType(CAMERA_MSG_VIDEO_FRAME). Depois de receber a chamada para disableMsgType(CAMERA_MSG_VIDEO_FRAME), é responsabilidade do HAL da câmera gerenciar o ciclo de vida dos frames de gravação de vídeo.

Definição na linha 219 do arquivo camera.h .

int(* send_command)(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)

Enviar comando para o driver da câmera.

Definição na linha 270 do arquivo camera.h .

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)

Definir os callbacks de notificação e dados

Definição na linha 105 do arquivo camera.h .

int(* set_parameters)(struct camera_device *, const char *parms)

Defina os parâmetros da câmera. Isso retorna BAD_VALUE se algum parâmetro for inválido ou não tiver suporte.

Definição na linha 252 do arquivo camera.h .

int(* set_preview_window)(struct camera_device *, struct preview_stream_ops *window)

Definir a ANativeWindow para a qual os frames de visualização são enviados

Definição na linha 101 do arquivo camera.h .

int(* start_preview)(struct camera_device *)

Inicie o modo de visualização.

Definição na linha 144 do arquivo camera.h .

int(* start_recording)(struct camera_device *)

Iniciar o modo de gravação. Quando uma imagem de registro está disponível, uma mensagem CAMERA_MSG_VIDEO_FRAME é enviada com o frame correspondente. Cada frame de gravação precisa ser liberado por um cliente HAL da câmera usando releaseRecordingFrame() antes que o cliente chame disableMsgType(CAMERA_MSG_VIDEO_FRAME). Depois que o cliente chama disableMsgType(CAMERA_MSG_VIDEO_FRAME), é responsabilidade do HAL da câmera gerenciar o ciclo de vida dos frames de gravação de vídeo, e o cliente não pode modificar/acessar nenhum frame de gravação de vídeo.

Definição na linha 198 do arquivo camera.h .

void(* stop_preview)(struct camera_device *)

Interromper uma prévia iniciada anteriormente.

Definição na linha 149 do arquivo camera.h .

void(* stop_recording)(struct camera_device *)

Interromper uma gravação iniciada anteriormente.

Definição na linha 203 do arquivo camera.h .

int(* store_meta_data_in_buffers)(struct camera_device *, int enable)

Solicitar que o HAL da câmera armazene metadados ou dados YUV reais nos buffers de vídeo enviados por CAMERA_MSG_VIDEO_FRAME para uma sessão de gravação. Se não for chamado, o comportamento padrão do HAL da câmera será armazenar dados YUV reais nos buffers de vídeo.

Esse método precisa ser chamado antes de startRecording() para ser eficaz.

Se os metadados forem armazenados nos buffers de vídeo, caberá ao receptor dos buffers de vídeo interpretar o conteúdo e encontrar os dados de frame reais com a ajuda dos metadados no buffer. A forma de fazer isso está fora do escopo deste método.

Alguns HALs de câmera podem não oferecer suporte ao armazenamento de metadados nos buffers de vídeo, mas todos os HALs de câmera precisam oferecer suporte ao armazenamento de dados YUV reais nos buffers de vídeo. Se o HAL da câmera não oferecer suporte ao armazenamento dos metadados nos buffers de vídeo quando solicitado, o erro INVALID_OPERATION será retornado. É muito útil para o HAL da câmera transmitir metadados em vez dos dados de frame diretamente para o codificador de vídeo, já que a quantidade de dados de frame descompactados pode ser muito grande se o tamanho do vídeo for grande.

Parâmetros
ativar Se verdadeiro, instrui o HAL da câmera a armazenar metadados nos buffers de vídeo. Se falso, instrui o HAL da câmera a armazenar dados YUV reais nos buffers de vídeo.
Retorna
OK se a operação for concluída.

Definição na linha 186 do arquivo camera.h .

int(* take_picture)(struct camera_device *)

Tire uma foto.

Definição na linha 240 do arquivo camera.h .


A documentação desse struct foi gerada com base no seguinte arquivo: