Struktura camera2_frame_queue_dst_ops
#include <
camera2.h
>
Pola danych |
|
int(* | dequeue_frame )(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer) |
int(* | cancel_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
int(* | enqueue_frame )(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
Szczegółowy opis
Protokół kolejkowania wyjścia klatki:
Platforma zawiera kolejkę i jej zawartość. Na początku kolejka jest pusta.
- Gdy urządzenie jest gotowe do wypełnienia ramki metadanych wyjściowych, musi usunąć z kolejki bufor metadanych o wymaganym rozmiarze.
- Następnie powinien wypełnić bufor metadanych i umieścić go w kole ramek za pomocą funkcji enqueue_frame. Ramka przejmuje własność ramki.
- W przypadku błędu, żądania opróżnienia potoku lub wyłączenia urządzenie musi zwrócić wszystkie ramki z kolejki, które zostały usunięte z ramki, do frameworku, wywołując cancel_frame.
Dokumentacja pola
int(* cancel_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
int(* dequeue_frame)(const struct camera2_frame_queue_dst_ops *q, size_t entries, size_t data_bytes, camera_metadata_t **buffer) |
Pobierz pusty bufor metadanych, który należy wypełnić z ramy. Nowy bufor metadanych będzie miał miejsce na entries liczbę wpisów metadanych oraz dodatkowe miejsce na dane_bajtów. Ramki zdejmowane z kolejki muszą zostać zwrócone do frameworku za pomocą funkcji cancel_frame lub enqueue_frame.
int(* enqueue_frame)(const struct camera2_frame_queue_dst_ops *q, camera_metadata_t *buffer) |
Dokumentacja tego typu danych została wygenerowana z tego pliku:
- hardware/libhardware/include/hardware/ camera2.h