camera_device_ops Riferimento strutturale

camera_device_ops Riferimento strutturale

#include < camera.h >

Campi dati

int(* set_preview_window )(struct camera_device *, struct preview_stream_ops *window)
vuoto(* set_callbacks )(struct camera_device *, camera_notify_callback notification_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void *user)
vuoto(* enable_msg_type )(struct camera_device *, int32_t msg_type)
vuoto(* 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 *)
vuoto(* 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 *)
vuoto(* stop_recording )(struct camera_device *)
int(* registrazione_enabled )(struct camera_device *)
vuoto(* 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)
carattere *(* get_parameters )(struct camera_device *)
vuoto(* put_parameters )(struct camera_device *, char *)
int(* send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2)
vuoto(* release )(struct camera_device *)
int(* dump )(struct camera_device *, int fd)

Descrizione dettagliata

Definizione alla riga 99 del file camera.h .

Documentazione sul campo

int(* auto_focus)(struct camera_device *)

Avvia la messa a fuoco automatica, la routine di richiamata della notifica viene chiamata con CAMERA_MSG_FOCUS una volta al termine della messa a fuoco. autoFocus() verrà chiamato di nuovo se è necessaria un'altra messa a fuoco automatica.

Definizione alla riga 227 del file camera.h .

int(* cancel_auto_focus)(struct camera_device *)

Annulla la funzione di messa a fuoco automatica. Se la messa a fuoco automatica è ancora in corso, questa funzione la annullerà. Indipendentemente dal fatto che la messa a fuoco automatica sia in corso o meno, questa funzione riporterà la posizione di messa a fuoco all'impostazione predefinita. Se la fotocamera non supporta la messa a fuoco automatica, questo è un no-op.

Definizione alla riga 235 del file camera.h .

int(* cancel_picture)(struct camera_device *)

Annulla un'immagine che è stata avviata con takePicture. Chiamare questo metodo quando non viene scattata alcuna foto è un no-op.

Definizione alla riga 246 del file camera.h .

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

Disabilita un messaggio o una serie di messaggi.

Dopo aver ricevuto una chiamata per disabilitareMsgType(CAMERA_MSG_VIDEO_FRAME), la telecamera HAL non deve fare affidamento sul proprio client per chiamare releaseRecordingFrame() per rilasciare fotogrammi di registrazione video inviati dall'HAL della telecamera prima e dopo la chiamata disableMsgType(CAMERA_MSG_VIDEO_FRAME). I client HAL della telecamera non devono modificare/accedere a nessun fotogramma di registrazione video dopo aver chiamato disableMsgType(CAMERA_MSG_VIDEO_FRAME).

Definizione alla riga 132 del file camera.h .

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

Stato di dump dell'hardware della fotocamera

Definizione alla riga 282 del file camera.h .

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

Le tre funzioni seguenti accettano tutte un tipo_msg, che è una maschera di bit dei messaggi definiti in include/ui/Camera.h Abilita un messaggio o un insieme di messaggi.

Definizione alla riga 120 del file camera.h .

char*(* get_parameters)(struct camera_device *)

Recupera i parametri della fotocamera. Il buffer restituito dalla telecamera HAL deve essere restituito ad esso con put_parameters, se put_parameters non è NULL.

Definizione alla riga 258 del file camera.h .

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

Domanda se un messaggio o un insieme di messaggi è abilitato. Si noti che funziona come AND, se uno qualsiasi dei messaggi interrogati è disattivato, verrà restituito false.

Definizione alla riga 139 del file camera.h .

int(* preview_enabled)(struct camera_device *)

Restituisce true se l'anteprima è abilitata.

Definizione alla riga 154 del file camera.h .

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

La telecamera HAL utilizza la propria memoria per passarci i parametri quando chiamiamo get_parameters. Utilizzare questa funzione per restituire la memoria alla telecamera HAL, se put_parameters non è NULL. Se put_parameters è NULL, allora devi usare free() per rilasciare la memoria.

Definizione alla riga 265 del file camera.h .

int(* recording_enabled)(struct camera_device *)

Restituisce true se la registrazione è abilitata.

Definizione alla riga 208 del file camera.h .

void(* release)(struct camera_device *)

Rilascia le risorse hardware di proprietà di questo oggetto. Nota che questo non viene fatto nel distruttore.

Definizione alla riga 277 del file camera.h .

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

Rilascia un frame di record precedentemente restituito da CAMERA_MSG_VIDEO_FRAME.

È responsabilità del client HAL della telecamera rilasciare i frame di registrazione video inviati dalla telecamera HAL prima che quest'ultima riceva una chiamata per disabilitareMsgType(CAMERA_MSG_VIDEO_FRAME). Dopo aver ricevuto la chiamata per disabilitareMsgType(CAMERA_MSG_VIDEO_FRAME), è responsabilità della telecamera HAL gestire il ciclo di vita dei frame di registrazione video.

Definizione alla riga 219 del file camera.h .

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

Invia comando al driver della fotocamera.

Definizione alla riga 270 del file camera.h .

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

Imposta la notifica e le richiamate dei dati

Definizione alla riga 105 del file camera.h .

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

Impostare i parametri della fotocamera. Questo restituisce BAD_VALUE se un parametro non è valido o non è supportato.

Definizione alla riga 252 del file camera.h .

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

Impostare ANativeWindow a cui vengono inviati i frame di anteprima

Definizione alla riga 101 del file camera.h .

int(* start_preview)(struct camera_device *)

Avvia la modalità di anteprima.

Definizione alla riga 144 del file camera.h .

int(* start_recording)(struct camera_device *)

Avvia la modalità di registrazione. Quando è disponibile un'immagine registrata, viene inviato un messaggio CAMERA_MSG_VIDEO_FRAME con il frame corrispondente. Ogni frame di record deve essere rilasciato da un client HAL della telecamera tramite releaseRecordingFrame() prima che il client chiami disableMsgType(CAMERA_MSG_VIDEO_FRAME). Dopo che il client ha chiamato disableMsgType(CAMERA_MSG_VIDEO_FRAME), è responsabilità della telecamera HAL gestire il ciclo di vita dei frame di registrazione video e il client non deve modificare/accedere ad alcun frame di registrazione video.

Definizione alla riga 198 del file camera.h .

void(* stop_preview)(struct camera_device *)

Arresta un'anteprima avviata in precedenza.

Definizione alla riga 149 del file camera.h .

void(* stop_recording)(struct camera_device *)

Interrompe una registrazione avviata in precedenza.

Definizione alla riga 203 del file camera.h .

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

Richiedi alla telecamera HAL di memorizzare metadati o dati YUV reali nei buffer video inviati tramite CAMERA_MSG_VIDEO_FRAME per una sessione di registrazione. Se non viene chiamato, il comportamento HAL predefinito della telecamera è di memorizzare i dati YUV reali nei buffer video.

Questo metodo dovrebbe essere chiamato prima di startRecording() per essere efficace.

Se i metadati sono archiviati nei buffer video, spetta al ricevitore dei buffer video interpretare i contenuti e trovare i dati del frame effettivo con l'aiuto dei metadati nel buffer. Il modo in cui ciò avviene è al di fuori dell'ambito di questo metodo.

Alcuni HAL delle telecamere potrebbero non supportare la memorizzazione dei metadati nei buffer video, ma tutti gli HAL delle telecamere dovrebbero supportare la memorizzazione dei dati YUV reali nei buffer video. Se la telecamera HAL non supporta la memorizzazione dei metadati nei buffer video quando viene richiesto di farlo, è necessario restituire INVALID_OPERATION. È molto utile che l'HAL della telecamera trasmetta i metadati anziché i dati dei fotogrammi effettivi direttamente al codificatore video, poiché la quantità di dati dei fotogrammi non compressi può essere molto grande se le dimensioni del video sono elevate.

Parametri
abilitare se true per indicare all'HAL della telecamera di memorizzare i metadati nei buffer video; false per indicare alla telecamera HAL di memorizzare i dati YUV reali nei buffer video.
ritorna
OK sul successo.

Definizione alla riga 186 del file camera.h .

int(* take_picture)(struct camera_device *)

Fai una foto.

Definizione alla riga 240 del file camera.h .


La documentazione per questa struttura è stata generata dal seguente file:
  • hardware/libhardware/include/hardware/ camera.h