Strukturreferenz für camera2_stream_ops
#include <
camera2.h
>
Datenfelder |
|
int(* | dequeue_buffer )(const struct camera2_stream_ops *w, buffer_handle_t **buffer) |
int(* | enqueue_buffer )(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer) |
int(* | cancel_buffer )(const struct camera2_stream_ops *w, buffer_handle_t *buffer) |
int(* | set_crop )(const struct camera2_stream_ops *w, int left, int top, int right, int bottom) |
Detaillierte Beschreibung
Oberfläche der Ausgabebildstream-Warteschlange Eine Reihe dieser Methoden wird dem HAL-Gerät in allocate_stream() zur Verfügung gestellt und dient zur Interaktion mit der Gralloc-Pufferwarteschlange für diesen Stream. Sie werden möglicherweise erst nach dem Rückgabewert von allocate_stream aufgerufen.
Felddokumentation
int(* cancel_buffer)(const struct camera2_stream_ops *w, buffer_handle_t *buffer) |
int(* dequeue_buffer)(const struct camera2_stream_ops *w, buffer_handle_t **buffer) |
Einen Puffer aus der Warteschlange abrufen, um ihn zu füllen. Größe und Format des Buffers sind für einen bestimmten Stream festgelegt (definiert in allocate_stream) und der Schritt sollte vom Plattform-gralloc-Modul abgefragt werden. Der Gralloc-Puffer wurde basierend auf den Nutzungsflags von allocate_stream zugewiesen und für die Verwendung gesperrt.
int(* enqueue_buffer)(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer) |
Einen gefüllten Puffer an den Stream senden, der vom Verbraucher verwendet werden soll.
Der Zeitstempel gibt die Zeit an, zu der die Belichtung der ersten Zeile des Bildes begonnen hat. Er muss von einer monotonen Uhr stammen und wird in Nanosekunden gemessen. Die Zeitstempel müssen nicht zwischen verschiedenen Kameras oder aufeinanderfolgenden Aufnahmen derselben Kamera vergleichbar sein. Sie müssen jedoch zwischen Streams derselben Kamera vergleichbar sein. Wenn eine Aufnahme Puffer für mehrere Streams generiert, muss jeder Stream denselben Zeitstempel für diesen Puffer haben. Dieser Zeitstempel muss mit dem Zeitstempel in den Metadaten des Ausgabeframes übereinstimmen.
int(* set_crop)(const struct camera2_stream_ops *w, int left, int top, int right, int bottom) |
Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
- hardware/libhardware/include/hardware/ camera2.h