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

Descrizione dettagliata

Definizione nella riga 99 del file camera.h .

Documentazione dei campi

int(* auto_focus)(struct camera_device *)

Avvia la messa a fuoco automatica. La routine di callback 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 nella riga 227 del file camera.h .

int(* cancel_auto_focus)(struct camera_device *)

Annullamento della funzione di messa a fuoco automatica. Se la messa a fuoco automatica è ancora in corso, questa funzione la annulla. Indipendentemente dal fatto che l'autofocus sia in corso o meno, questa funzione reimposta la posizione di messa a fuoco predefinita. Se la fotocamera non supporta l'autofocus, questa operazione non viene eseguita.

Definizione nella riga 235 del file camera.h .

int(* cancel_picture)(struct camera_device *)

Annullare una foto avviata con takePicture. La chiamata di questo metodo quando non viene scattata alcuna foto non ha alcun effetto.

Definizione nella riga 246 del file camera.h .

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

Disattivare un messaggio o un insieme di messaggi.

Una volta ricevuta una chiamata a disableMsgType(CAMERA_MSG_VIDEO_FRAME), l'HAL della videocamera non deve fare affidamento sul proprio client per chiamare releaseRecordingFrame() per rilasciare i frame di registrazione video inviati dall'HAL della videocamera prima e dopo la chiamata a disableMsgType(CAMERA_MSG_VIDEO_FRAME). I client HAL della fotocamera non devono modificare/accedere a nessun frame di registrazione video dopo aver chiamato disableMsgType(CAMERA_MSG_VIDEO_FRAME).

Definizione nella riga 132 del file camera.h .

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

Dump dello stato dell'hardware della videocamera

Definizione nella riga 282 del file camera.h .

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

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

Definizione nella riga 120 del file camera.h .

char*(* get_parameters)(struct camera_device *)

Recupera i parametri della videocamera. Il buffer restituito dall'HAL della fotocamera deve essere restituito con put_parameters, se put_parameters non è NULL.

Definizione nella riga 258 del file camera.h .

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

Esegui una query per verificare se un messaggio o un insieme di messaggi è attivato. Tieni presente che questa operazione funziona come un AND, se uno dei messaggi sottoposti a query è disattivato, restituirà false.

Definizione nella riga 139 del file camera.h .

int(* preview_enabled)(struct camera_device *)

Restituisce true se l'anteprima è attivata.

Definizione nella riga 154 del file camera.h .

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

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

Definizione nella riga 265 del file camera.h .

int(* recording_enabled)(struct camera_device *)

Restituisce il valore True se la registrazione è attivata.

Definizione nella riga 208 del file camera.h .

void(* release)(struct camera_device *)

Libera le risorse hardware di proprietà di questo oggetto. Tieni presente che questo avviene non nel distruttore.

Definizione nella riga 277 del file camera.h .

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

Rilascia un frame di registrazione restituito in precedenza da CAMERA_MSG_VIDEO_FRAME.

È responsabilità del client HAL della fotocamera rilasciare i frame di registrazione video inviati dall'HAL della fotocamera prima che l'HAL della fotocamera riceva una chiamata a disableMsgType(CAMERA_MSG_VIDEO_FRAME). Dopo aver ricevuto la chiamata a disableMsgType(CAMERA_MSG_VIDEO_FRAME), è responsabilità dell'HAL della fotocamera gestire il ciclo di vita dei frame di registrazione video.

Definizione nella 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 videocamera.

Definizione nella 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 i callback di notifica e dati

Definizione nella riga 105 del file camera.h .

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

Imposta i parametri della videocamera. Restituisce BAD_VALUE se un parametro non è valido o non è supportato.

Definizione nella riga 252 del file camera.h .

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

Imposta l'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 nella riga 144 del file camera.h .

int(* start_recording)(struct camera_device *)

Avvia la modalità di registrazione. Quando è disponibile un'immagine del record, viene inviato un messaggio CAMERA_MSG_VIDEO_FRAME con il frame corrispondente. Ogni frame di registrazione deve essere rilasciato da un client HAL della videocamera 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 fotocamera gestire il ciclo di vita dei frame di registrazione video e il client non deve modificare/accedere a nessun frame di registrazione video.

Definizione nella riga 198 del file camera.h .

void(* stop_preview)(struct camera_device *)

Interrompere un'anteprima avviata in precedenza.

Definizione alla riga 149 del file camera.h .

void(* stop_recording)(struct camera_device *)

Interrompere 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 all'HAL della fotocamera di archiviare 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 predefinito dell'HAL della fotocamera è archiviare i dati YUV reali nei buffer video.

Per essere efficace, questo metodo deve essere chiamato prima di startRecording().

Se i metadati vengono memorizzati nei buffer video, è compito del destinatario dei buffer video interpretare i contenuti e trovare i dati effettivi dei frame con l'aiuto dei metadati nel buffer. La modalità di esecuzione non rientra nell'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 di dati YUV reali nei buffer video. Se l'HAL della videocamera non supporta la memorizzazione dei metadati nei buffer video quando viene richiesto, deve essere restituito INVALID_OPERATION. È molto utile per l'HAL della fotocamera passare i metadati anziché i dati effettivi dei fotogrammi direttamente all'encoder video, poiché la quantità di dati dei fotogrammi non compressi può essere molto grande se le dimensioni del video sono elevate.

Parametri
Attiva Se true, indica all'HAL della fotocamera di archiviare i metadati nei buffer video; false per indicare all'HAL della fotocamera di archiviare i dati YUV reali nei buffer video.
Ritorni
OK in caso di successo.

Definizione nella riga 186 del file camera.h .

int(* take_picture)(struct camera_device *)

Scatta una foto.

Definizione nella riga 240 del file camera.h .


La documentazione di questa struttura è stata generata dal seguente file: