A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Riferimento alla struttura camera_device_ops
#include <
camera.h
>
|
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)
|
|
Definizione nella riga
99
del file
camera.h
.
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
.
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
.
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
.
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
.
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
.
Restituisce true se l'anteprima è attivata.
Definizione nella riga
154
del file
camera.h
.
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
.
Restituisce il valore True se la registrazione è attivata.
Definizione nella riga
208
del file
camera.h
.
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
.
Imposta i callback di notifica e dati
Definizione nella riga
105
del file
camera.h
.
Imposta i parametri della videocamera. Restituisce BAD_VALUE se un parametro non è valido o non è supportato.
Definizione nella riga
252
del file
camera.h
.
Imposta l'ANativeWindow a cui vengono inviati i frame di anteprima
Definizione alla riga
101
del file
camera.h
.
Avvia la modalità di anteprima.
Definizione nella riga
144
del file
camera.h
.
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
.
Interrompere un'anteprima avviata in precedenza.
Definizione alla riga
149
del file
camera.h
.
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
.
Scatta una foto.
Definizione nella riga
240
del file
camera.h
.
La documentazione di questa struttura è stata generata dal seguente file:
-
hardware/libhardware/include/hardware/
camera.h
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-03-26 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-03-26 UTC."],[],[]]