Referência de estrutura camera_device_ops

Referência de estrutura camera_device_ops

#include < camera.h >

Campos de dados

interno(* set_preview_window )(estrutura camera_device *, estrutura preview_stream_ops *janela)
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(* desativar_msg_type )(struct camera_device *, int32_t msg_type)
interno(* msg_type_enabled )(estrutura camera_device *, int32_t msg_type)
interno(* start_preview )(estrutura camera_device *)
vazio(* stop_preview )(estrutura camera_device *)
interno(* preview_enabled )(estrutura camera_device *)
interno(* store_meta_data_in_buffers )(struct camera_device *, int enable)
interno(* start_recording )(struct camera_device *)
vazio(* stop_recording )(struct camera_device *)
interno(* gravação_enabled )(struct camera_device *)
vazio(* release_recording_frame )(struct camera_device *, const void *opaco)
interno(* auto_focus )(estrutura camera_device *)
interno(* cancel_auto_focus )(estrutura camera_device *)
interno(* take_picture )(estrutura camera_device *)
interno(* cancel_picture )(estrutura camera_device *)
interno(* set_parameters )(struct camera_device *, const char *parms)
Caracteres *(* get_parameters )(estrutura camera_device *)
vazio(* put_parameters )(struct camera_device *, char *)
interno(* send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
vazio(* liberar )(estrutura camera_device *)
interno(* dump )(struct camera_device *, int fd)

Descrição detalhada

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

Documentação de campo

int(* auto_focus)(estrutura camera_device *)

Inicie o foco automático, a rotina de retorno de chamada de notificação será chamada com CAMERA_MSG_FOCUS uma vez quando o foco for concluído. autoFocus() será chamado novamente se outro foco automático for necessário.

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

int(* cancel_auto_focus)(estrutura camera_device *)

Cancela a função de foco automático. Se o foco automático ainda estiver em andamento, esta função irá cancelá-lo. Esteja o foco automático em andamento ou não, esta função retornará a posição do foco ao padrão. Se a câmera não suportar foco automático, isso não será operacional.

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 é operacional.

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), a câmera HAL não deve depender de seu cliente para chamar releaseRecordingFrame() para liberar 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 HAL da câmera não devem modificar/acessar nenhum quadro 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)

Todas 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 Habilite uma mensagem ou conjunto de mensagens.

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

char*(* get_parameters)(estrutura camera_device *)

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

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

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

Consulte se uma mensagem ou um conjunto de mensagens está habilitado. Observe que isso funciona como um AND, se alguma das mensagens consultadas estiver desativada, retornará falso.

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

int(* preview_enabled)(estrutura camera_device *)

Retorna verdadeiro se a visualização estiver habilitada.

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

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 de volta ao HAL da câmera, se put_parameters não for NULL. Se put_parameters for NULL, você deverá usar free() para liberar memória.

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

int(*gravação_enabled)(struct camera_device *)

Retorna verdadeiro se a gravação estiver habilitada.

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

void(* release)(struct camera_device *)

Libere os recursos de hardware pertencentes a este objeto. Observe que isso não é feito no destruidor.

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

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

Libera um quadro de registro retornado anteriormente por CAMERA_MSG_VIDEO_FRAME.

É responsabilidade do cliente HAL da câmera liberar quadros de gravação de vídeo enviados pela câmera HAL antes que a câmera HAL 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.

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

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

Envie o 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)

Defina a notificação e os retornos de chamada de 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 for suportado.

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

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

Defina o ANativeWindow para o qual os quadros de visualização são enviados

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

int(* start_preview)(estrutura camera_device *)

Inicie o modo de visualização.

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

int(* start_recording)(struct camera_device *)

Inicie o modo de gravação. Quando uma imagem gravada 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.

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

void(* stop_preview)(estrutura camera_device *)

Interrompa uma visualização iniciada anteriormente.

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

void(* stop_recording)(struct camera_device *)

Pare 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)

Solicite ao HAL da câmera que armazene 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 do HAL da câmera é armazenar dados YUV reais nos buffers de vídeo.

Este método deve ser chamado antes de startRecording() para ser eficaz.

Se os metadados forem armazenados nos buffers de vídeo, cabe ao receptor dos buffers de vídeo interpretar o conteúdo e encontrar os dados reais do quadro com a ajuda dos metadados no buffer. A forma 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 o HAL da câmera não suportar o armazenamento de metadados nos buffers de vídeo quando for solicitado, INVALID_OPERATION deverá ser retornado. É muito útil para o HAL da câmera passar metadados em vez dos dados de quadro reais diretamente para o codificador de vídeo, uma vez que a quantidade de dados de quadro não compactados pode ser muito grande se o tamanho do vídeo for grande.

Parâmetros
habilitar se for verdadeiro para instruir o HAL da câmera a armazenar metadados nos buffers de vídeo; false para instruir o HAL da câmera a armazenar dados YUV reais nos buffers de vídeo.
Devoluções
OK com sucesso.

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

int(* tirar_imagem)(estrutura camera_device *)

Tirar uma foto.

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


A documentação desta estrutura foi gerada a partir do seguinte arquivo:
  • hardware/libhardware/include/hardware/ camera.h