Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
camera_device_ops Strukturreferenz
#include < camera.h >
|
int(* | set_preview_window )(struct camera_device *, struct Preview_stream_ops *window) |
|
Leere(* | 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) |
|
Leere(* | enable_msg_type )(struct camera_device *, int32_t msg_type) |
|
Leere(* | 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 *) |
|
Leere(* | 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 *) |
|
Leere(* | stop_recording )(struct camera_device *) |
|
int(* | Recording_enabled )(struct camera_device *) |
|
Leere(* | 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 *) |
|
Leere(* | put_parameters )(struct camera_device *, char *) |
|
int(* | send_command )(struct camera_device *, int32_t cmd, int32_t arg1, int32_t arg2) |
|
Leere(* | release )(struct camera_device *) |
|
int(* | dump )(struct camera_device *, int fd) |
|
Definition in Zeile 99 der Datei camera.h .
Autofokus starten, die Benachrichtigungs-Callback-Routine wird mit CAMERA_MSG_FOCUS einmal aufgerufen, wenn die Fokussierung abgeschlossen ist. autoFocus() wird erneut aufgerufen, wenn ein weiterer Autofokus erforderlich ist.
Definition in Zeile 227 der Datei camera.h .
Bricht die Autofokusfunktion ab. Wenn der Autofokus noch läuft, wird er durch diese Funktion abgebrochen. Unabhängig davon, ob der Autofokus aktiv ist oder nicht, setzt diese Funktion die Fokusposition auf die Standardeinstellung zurück. Wenn die Kamera keinen Autofokus unterstützt, ist dies ein No-Op.
Definition in Zeile 235 der Datei camera.h .
Ein mit takePicture gestartetes Bild abbrechen. Das Aufrufen dieser Methode, wenn kein Bild aufgenommen wird, ist ein No-Op.
Definition in Zeile 246 der Datei camera.h .
void(*disable_msg_type)(struct camera_device *, int32_t msg_type) |
Deaktivieren Sie eine Nachricht oder eine Reihe von Nachrichten.
Sobald ein Aufruf von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ empfangen wurde, sollte sich die Kamera-HAL nicht darauf verlassen, dass ihr Client „releaseRecordingFrame()“ aufruft, um Videoaufzeichnungsframes freizugeben, die von der Kamera-HAL vor und nach dem Aufruf von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ gesendet wurden. Kamera-HAL-Clients dürfen nach dem Aufruf von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ keine Videoaufzeichnungsbilder ändern/auf sie zugreifen.
Definition in Zeile 132 der Datei camera.h .
Dump-Status der Kamera-Hardware
Definition in Zeile 282 der Datei camera.h .
void(* enable_msg_type)(struct camera_device *, int32_t msg_type) |
Die folgenden drei Funktionen benötigen alle einen msg_type, der eine Bitmaske der in include/ui/Camera.h definierten Nachrichten ist. Aktivieren Sie eine Nachricht oder einen Satz von Nachrichten.
Definition in Zeile 120 der Datei camera.h .
Rufen Sie die Kameraparameter ab. Der von der Kamera-HAL zurückgegebene Puffer muss mit put_parameters an sie 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) |
Fragen Sie ab, ob eine Nachricht oder eine Gruppe von Nachrichten aktiviert ist. Beachten Sie, dass dies als AND funktioniert. Wenn eine der abgefragten Nachrichten deaktiviert ist, wird „false“ zurückgegeben.
Definition in Zeile 139 der Datei camera.h .
Gibt true zurück, wenn die Vorschau aktiviert ist.
Definition in Zeile 154 der Datei camera.h .
Der Kamera-HAL verwendet seinen eigenen Speicher, um uns die Parameter zu übergeben, wenn wir get_parameters aufrufen. Verwenden Sie diese Funktion, um den Speicher an die Kamera-HAL zurückzugeben, wenn put_parameters nicht NULL ist. Wenn put_parameters NULL ist, müssen Sie free() verwenden, um den Speicher freizugeben.
Definition in Zeile 265 der Datei camera.h .
Gibt true zurück, wenn die Aufzeichnung aktiviert ist.
Definition in Zeile 208 der Datei camera.h .
Geben Sie die Hardwareressourcen frei, die diesem Objekt gehören. Beachten Sie, dass dies nicht im Destruktor erfolgt.
Definition in Zeile 277 der Datei camera.h .
void(* release_recording_frame)(struct camera_device *, const void *opaque) |
Geben Sie einen zuvor von CAMERA_MSG_VIDEO_FRAME zurückgegebenen Aufnahmerahmen frei.
Es liegt in der Verantwortung des Kamera-HAL-Clients, die von der Kamera-HAL gesendeten Videoaufzeichnungsframes freizugeben, bevor die Kamera-HAL einen Aufruf zum „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ erhält. Nachdem der Aufruf von „disableMsgType(CAMERA_MSG_VIDEO_FRAME)“ empfangen wurde, liegt es in der Verantwortung der Kamera-HAL, den Lebenszyklus der Videoaufzeichnungsbilder 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 Kameratreiber senden.
Definition in Zeile 270 der Datei camera.h .
Legen Sie die Benachrichtigungs- und Datenrückrufe fest
Definition in Zeile 105 der Datei camera.h .
Stellen Sie die Kameraparameter ein. Dies gibt BAD_VALUE zurück, wenn ein Parameter ungültig ist oder nicht unterstützt wird.
Definition in Zeile 252 der Datei camera.h .
Legen Sie das ANativeWindow fest, an das Vorschaubilder gesendet werden
Definition in Zeile 101 der Datei camera.h .
Vorschaumodus starten.
Definition in Zeile 144 der Datei camera.h .
Aufnahmemodus starten. Wenn ein Aufnahmebild verfügbar ist, wird eine CAMERA_MSG_VIDEO_FRAME-Nachricht mit dem entsprechenden Frame gesendet. Jeder Aufnahmerahmen 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, liegt es in der Verantwortung der Kamera-HAL, den Lebenszyklus der Videoaufzeichnungsframes zu verwalten, und der Client darf keine Videoaufzeichnungsframes ändern/auf sie zugreifen.
Definition in Zeile 198 der Datei camera.h .
Stoppen Sie eine zuvor gestartete Vorschau.
Definition in Zeile 149 der Datei camera.h .
Stoppen Sie eine zuvor gestartete Aufnahme.
Definition in Zeile 203 der Datei camera.h .
int(* store_meta_data_in_buffers)(struct camera_device *, int enable) |
Fordern Sie die Kamera-HAL auf, Metadaten oder echte YUV-Daten in den Videopuffern zu speichern, die über CAMERA_MSG_VIDEO_FRAME für eine Aufnahmesitzung gesendet werden. Wenn es nicht aufgerufen wird, besteht das Standardverhalten der Kamera-HAL darin, echte YUV-Daten in den Videopuffern zu speichern.
Um wirksam zu sein, sollte diese Methode vor startRecording() aufgerufen werden.
Wenn Metadaten in den Videopuffern gespeichert sind, ist es Sache des Empfängers der Videopuffer, den Inhalt zu interpretieren und mithilfe der Metadaten im Puffer die tatsächlichen Bilddaten zu finden. Wie dies geschieht, liegt außerhalb des Rahmens dieser Methode.
Einige Kamera-HALs unterstützen möglicherweise nicht das Speichern von Metadaten in den Videopuffern, aber alle Kamera-HALs sollten das Speichern echter YUV-Daten in den Videopuffern unterstützen. Wenn die Kamera-HAL das Speichern der Metadaten in den Videopuffern nicht unterstützt, wenn sie dazu aufgefordert wird, muss INVALID_OPERATION zurückgegeben werden. Für die Kamera-HAL ist es sehr nützlich, Metadaten anstelle der eigentlichen Bilddaten direkt an den Video-Encoder zu übergeben, da die Menge der unkomprimierten Bilddaten bei großen Videos sehr groß sein kann.
- Parameter
aktivieren | wenn „true“, um die Kamera-HAL anzuweisen, Metadaten in den Videopuffern zu speichern; false, um die Kamera-HAL anzuweisen, echte YUV-Daten in den Videopuffern zu speichern. |
- Kehrt zurück
- OK, Erfolg.
Definition in Zeile 186 der Datei camera.h .
Machen Sie ein Foto.
Definition in Zeile 240 der Datei camera.h .
Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
- hardware/libhardware/include/hardware/ camera.h
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2023-12-01 (UTC).
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Benötigte Informationen nicht gefunden"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Zu umständlich/zu viele Schritte"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Nicht mehr aktuell"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problem mit der Übersetzung"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problem mit Beispielen/Code"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Sonstiges"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Leicht verständlich"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Mein Problem wurde gelöst"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Sonstiges"
}]
{"lastModified": "Zuletzt aktualisiert: 2023-12-01\u00a0(UTC)."}
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2023-12-01 (UTC)."]]