referência de estrutura camera_device_ops

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

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

Documentação de campo

int(* auto_focus)(struct camera_device *)

Inicie o foco automático, a rotina de retorno de chamada de notificação é chamada com CAMERA_MSG_FOCUS uma vez quando o foco estiver 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)(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.

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 é um no-op.

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.

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

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 recebem um tipo_msg, que é uma máscara de bits das mensagens definidas em include/ui/Camera.h Habilitar uma mensagem ou conjunto de mensagens.

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

char*(* get_parameters)(struct camera_device *)

Recupere os parâmetros da câmera. O buffer retornado pela câmera HAL deve ser retornado 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)

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

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

int(* preview_enabled)(struct 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 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.

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

int(* gravação_ativada)(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 *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.

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)

Definir os retornos de chamada 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 retornará 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)(struct 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 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.

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

void(* stop_preview)(struct camera_device *)

Interrompa uma visualização iniciada anteriormente.

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

void(* stop_recording)(struct camera_device *)

Interrompa 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 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.

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

int(* take_picture)(struct camera_device *)

Tirar uma foto.

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


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