Riferimento alla struttura camera_device_ops

Riferimento alla struttura camera_device_ops

#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 notify_cb, camera_data_callback data_cb, camera_data_timestamp_callback data_cb_timestamp, camera_request_memory get_memory, void *user)
vuoto(* abilita_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(* anteprima_enabled )(struct camera_device *)
int(* store_meta_data_in_buffers )(struct camera_device *, int abilita)
int(* start_recording )(struct camera_device *)
vuoto(* stop_recording )(struct camera_device *)
int(* registrazione_abilitata )(struttura 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(* rilascio )(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 richiamata con CAMERA_MSG_FOCUS una volta al termine della messa a fuoco. autoFocus() verrà chiamato nuovamente 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à. Sia che la messa a fuoco automatica sia in corso o meno, questa funzione riporterà la posizione di messa a fuoco al valore predefinito. Se la fotocamera non supporta la messa a fuoco automatica, questa operazione non è consentita.

Definizione alla riga 235 del file camera.h .

int(* cancel_picture)(struct camera_device *)

Annulla un'immagine avviata con takePicture. Chiamare questo metodo quando non viene scattata alcuna foto è un'operazione vietata.

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.

Una volta ricevuta una chiamata a DisableMsgType(CAMERA_MSG_VIDEO_FRAME), l'HAL della telecamera non deve fare affidamento sul proprio client per chiamare releaseRecordingFrame() per rilasciare i fotogrammi di registrazione video inviati dall'HAL della telecamera prima e dopo la chiamata DisableMsgType(CAMERA_MSG_VIDEO_FRAME). I client HAL della fotocamera non devono modificare/accedere ad alcun frame 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)

Dump dello stato dell'hardware della fotocamera

Definizione alla riga 282 del file camera.h .

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

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

Definizione alla riga 120 del file camera.h .

char*(* get_parameters)(struct camera_device *)

Recuperare i parametri della fotocamera. Il buffer restituito dall'HAL della telecamera deve essere restituito allo stesso 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)

Interroga se un messaggio o un insieme di messaggi è abilitato. Tieni presente che funziona come AND, se uno qualsiasi dei messaggi interrogati è disattivato, restituirà false.

Definizione alla riga 139 del file camera.h .

int(* anteprima_enabled)(struct camera_device *)

Restituisce vero se l'anteprima è abilitata.

Definizione alla riga 154 del file camera.h .

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

L'HAL della fotocamera utilizza la propria memoria per passarci i parametri quando chiamiamo get_parameters. Utilizzare questa funzione per restituire la memoria all'HAL della fotocamera, se put_parameters non è NULL. Se put_parameters è NULL, devi utilizzare free() per liberare la memoria.

Definizione alla riga 265 del file camera.h .

int(* registrazione_enabled)(struct camera_device *)

Restituisce vero se la registrazione è abilitata.

Definizione alla riga 208 del file camera.h .

void(* rilascio)(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 fotogramma record precedentemente restituito da CAMERA_MSG_VIDEO_FRAME.

È responsabilità del client HAL della fotocamera rilasciare i frame di registrazione video inviati dall'HAL della fotocamera prima che quest'ultimo riceva una chiamata per disabilitare MsgType(CAMERA_MSG_VIDEO_FRAME). Dopo aver ricevuto la chiamata a DisableMsgType(CAMERA_MSG_VIDEO_FRAME), è responsabilità dell'HAL della telecamera gestire il ciclo di vita dei fotogrammi 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 il comando al driver della fotocamera.

Definizione alla riga 270 del file 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)

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)

Imposta i parametri della fotocamera. 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)

Imposta la ANativeWindow a cui verranno inviati i fotogrammi 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 da registrare, viene inviato un messaggio CAMERA_MSG_VIDEO_FRAME con il fotogramma corrispondente. Ogni fotogramma di registrazione deve essere rilasciato da un client HAL della fotocamera tramite releaseRecordingFrame() prima che il client chiami DisableMsgType(CAMERA_MSG_VIDEO_FRAME). Dopo che il client chiama DisableMsgType(CAMERA_MSG_VIDEO_FRAME), è responsabilità dell'HAL della telecamera 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 *)

Interrompe 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 abilita)

Richiedi all'HAL della fotocamera 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 consiste nel memorizzare dati YUV reali nei buffer video.

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

Se nei buffer video vengono memorizzati metadati, spetta al ricevitore dei buffer video interpretarne il contenuto e trovare i dati effettivi del fotogramma con l'aiuto dei metadati nel buffer. Il modo in cui ciò viene eseguito esula dall'ambito di questo metodo.

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

Parametri
abilitare se true per istruire l'HAL della telecamera a memorizzare i metadati nei buffer video; false per istruire l'HAL della fotocamera a memorizzare dati YUV reali nei buffer video.
ritorna
OK in caso di 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