Struct-Referenz „camera_device_ops“

Strukturreferenz für „camera_device_ops“

#include < camera.h >

Datenfelder

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)
 

Detaillierte Beschreibung

Definition in Zeile 99 der Datei camera.h

Felddokumentation

int(* auto_focus)(struct camera_device *)

Startet den Autofokus. Die Benachrichtigungs-Callback-Routine wird einmal mit CAMERA_MSG_FOCUS aufgerufen, wenn der Fokus abgeschlossen ist. autoFocus() wird noch einmal aufgerufen, wenn ein weiterer Autofokus erforderlich ist.

Definition in Zeile 227 der Datei camera.h .

int(* cancel_auto_focus)(struct camera_device *)

Die Funktion „Autofokus“ wird deaktiviert. Wenn der Autofokus noch aktiv ist, wird er durch diese Funktion abgebrochen. Unabhängig davon, ob der Autofokus gerade aktiv ist, wird die Fokusposition durch diese Funktion auf den Standardwert zurückgesetzt. Wenn die Kamera keinen Autofokus unterstützt, ist diese Option nicht verfügbar.

Definition in Zeile 235 der Datei camera.h .

int(* cancel_picture)(struct camera_device *)

Abbrechen eines Fotos, das mit „takePicture“ gestartet wurde. Wenn diese Methode aufgerufen wird, während kein Foto aufgenommen wird, hat dies keine Auswirkungen.

Definition in Zeile 246 der Datei camera.h .

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

Eine oder mehrere Nachrichten deaktivieren

Nachdem ein Aufruf von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ erfolgt ist, sollte die Kamera-HAL nicht darauf vertrauen, dass der Client „releaseRecordingFrame()“ aufruft, um Videoaufzeichnungsframes freizugeben, die vor und nach dem Aufruf von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ von der Kamera-HAL gesendet wurden. Kamera-HAL-Clients dürfen nach dem Aufrufen von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ keine Videoaufnahmeframes mehr ändern oder darauf zugreifen.

Definition in Zeile 132 der Datei camera.h .

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

Dump-Status der Kamerahardware

Definition in Zeile 282 der Datei camera.h .

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

Die folgenden drei Funktionen nehmen alle eine msg_type an, eine Bitmaske der in include/ui/Camera.h definierten Nachrichten.

Definition in Zeile 120 der Datei camera.h .

char*(* get_parameters)(struct camera_device *)

Rufen Sie die Kameraparameter ab. Der von der Kamera-HAL zurückgegebene Puffer muss mit „put_parameters“ an die HAL zurückgegeben werden, wenn „put_parameters“ nicht NULL ist.

Definition in Zeile 258 der Datei camera.h .

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

Prüfen, ob eine Nachricht oder eine Gruppe von Nachrichten aktiviert ist. Hinweis: Dies funktioniert als AND. Wenn eine der abgefragten Nachrichten deaktiviert ist, wird „falsch“ zurückgegeben.

Definition in Zeile 139 der Datei camera.h .

int(* preview_enabled)(struct camera_device *)

Gibt „true“ zurück, wenn die Vorschau aktiviert ist.

Definition in Zeile 154 der Datei camera.h .

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

Die Kamera-HAL verwendet ihren eigenen Speicher, um uns die Parameter zu übergeben, wenn wir get_parameters aufrufen. Verwenden Sie diese Funktion, um den Arbeitsspeicher an die HAL der Kamera zurückzugeben, wenn „put_parameters“ nicht NULL ist. Wenn put_parameters NULL ist, müssen Sie den Arbeitsspeicher mit free() freigeben.

Definition in Zeile 265 der Datei camera.h .

int(* recording_enabled)(struct camera_device *)

Gibt „true“ zurück, wenn die Aufzeichnung aktiviert ist.

Definition in Zeile 208 der Datei camera.h .

void(* release)(struct camera_device *)

Die Hardwareressourcen, die zu diesem Objekt gehören, werden freigegeben. Dies geschieht nicht im Destruktor.

Definition in Zeile 277 der Datei camera.h .

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

Gibt einen Aufnahmeframe frei, der zuvor von CAMERA_MSG_VIDEO_FRAME zurückgegeben wurde.

Der Kamera-HAL-Client ist dafür verantwortlich, von der Kamera-HAL gesendete Videoaufnahmeframes freizugeben, bevor die Kamera-HAL einen Aufruf zu disableMsgType(CAMERA_MSG_VIDEO_FRAME) erhält. Nachdem der Aufruf „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ erfolgt ist, ist es Aufgabe der Kamera-HAL, den Lebenszyklus der Videoaufnahmeframes zu verwalten.

Definition in Zeile 219 der Datei camera.h .

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

Befehl an den Kameratreiber senden.

Definition in Zeile 270 der Datei 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)

Benachrichtigungs- und Daten-Callbacks festlegen

Definition in Zeile 105 der Datei camera.h .

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

Legen Sie die Kameraparameter fest. Wenn ein Parameter ungültig oder nicht unterstützt ist, wird BAD_VALUE zurückgegeben.

Definition in Zeile 252 der Datei camera.h .

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

ANativeWindow festlegen, an das Vorschauframes gesendet werden

Definition in Zeile 101 der Datei camera.h .

int(* start_preview)(struct camera_device *)

Starte den Vorschaumodus.

Definition in Zeile 144 der Datei camera.h .

int(* start_recording)(struct camera_device *)

Starten Sie den Aufnahmemodus. Wenn ein Aufnahmebild verfügbar ist, wird eine CAMERA_MSG_VIDEO_FRAME-Nachricht mit dem entsprechenden Frame gesendet. Jeder Aufnahmeframe muss von einem Kamera-HAL-Client über releaseRecordingFrame() freigegeben werden, bevor der Client disableMsgType(CAMERA_MSG_VIDEO_FRAME) aufruft. Nachdem der Client disableMsgType(CAMERA_MSG_VIDEO_FRAME) aufgerufen hat, ist die HAL der Kamera für die Verwaltung des Lebenszyklus der Videoaufnahmeframes verantwortlich. Der Client darf keine Videoaufnahmeframes ändern oder darauf zugreifen.

Definition in Zeile 198 der Datei camera.h .

void(* stop_preview)(struct camera_device *)

Eine zuvor gestartete Vorschau beenden.

Definition in Zeile 149 der Datei camera.h .

void(* stop_recording)(struct camera_device *)

Eine zuvor gestartete Aufnahme beenden.

Definition in Zeile 203 der Datei camera.h .

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

Bitten Sie die HAL der Kamera, Metadaten oder echte YUV-Daten in den Videopuffern zu speichern, die für eine Aufnahmesitzung über CAMERA_MSG_VIDEO_FRAME gesendet werden. Wenn sie nicht aufgerufen wird, werden standardmäßig echte YUV-Daten in den Videopuffern gespeichert.

Diese Methode sollte vor startRecording() aufgerufen werden, damit sie effektiv ist.

Wenn Metadaten in den Videopuffern gespeichert sind, muss der Empfänger der Videopuffers den Inhalt interpretieren und mithilfe der Metadaten im Puffer die tatsächlichen Frame-Daten finden. Wie das geht, geht über den Rahmen dieser Methode hinaus.

Einige Kamera-HALs unterstützen möglicherweise nicht das Speichern von Metadaten in den Videopuffern. Alle Kamera-HALs sollten jedoch das Speichern echter YUV-Daten in den Videopuffern unterstützen. Wenn die HAL der Kamera das Speichern der Metadaten in den Videopuffern nicht unterstützt, wenn dies angefordert wird, muss INVALID_OPERATION zurückgegeben werden. Es ist sehr nützlich, wenn die HAL der Kamera Metadaten anstelle der tatsächlichen Frame-Daten direkt an den Videoencoder weitergibt, da die Menge der unkomprimierten Frame-Daten bei einer großen Videogröße sehr groß sein kann.

Parameter
Aktivieren Wenn „wahr“ ist, wird die HAL der Kamera angewiesen, Metadaten in den Videopuffern zu speichern. Ist „falsch“, wird die HAL der Kamera angewiesen, echte YUV-Daten in den Videopuffern zu speichern.
Returns
„OK“ bei Erfolg.

Definition in Zeile 186 der Datei camera.h .

int(* take_picture)(struct camera_device *)

Du nimmst es auf –

Definition in Zeile 240 der Datei camera.h .


Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert: