Odniesienie do struktury Camera3_stream_buffer

Odniesienie do struktury Camera3_stream_buffer

#include < camera3.h >

Pola danych

kamera3_stream_t * strumień
bufor_uchwyt_t * bufor
wew status
wew nabyć_ogrodzenie
wew uwolnienie_ogrodzenia

szczegółowy opis

kamera3_stream_buffer_t:

Pojedynczy bufor ze strumienia z kamery3. Zawiera uchwyt do strumienia nadrzędnego, uchwyt do samego bufora graloc i ogrodzenia synchronizacji

Bufor nie określa, czy ma być używany jako wejście czy wyjście; jest to określane na podstawie typu strumienia nadrzędnego i sposobu przekazywania buforu do urządzenia HAL.

Definicja w linii 1755 pliku kamera3.h .

Dokumentacja terenowa

int nabycia_ogrodzenia

Ogrodzenie synchronizacji nabycia dla tego bufora. HAL musi czekać na tym ogrodzeniu fd przed próbą odczytu lub zapisu w tym buforze.

Struktura może być ustawiona na -1, aby wskazać, że nie jest konieczne oczekiwanie na ten bufor.

Gdy warstwa HAL zwraca bufor wyjściowy do struktury za pomocą metody Process_capture_result(), parametr nabycia_fence musi być ustawiony na -1. Jeśli warstwa HAL nigdy nie czeka na nabycia_fence z powodu błędu w wypełnieniu bufora, podczas wywoływania metody Process_capture_result() warstwa HAL musi ustawić release_fence bufora tak, aby była ona przekazywana do niej przez framework. Pozwoli to frameworkowi poczekać na ogrodzeniu przed ponownym użyciem bufora.

W przypadku buforów wejściowych warstwa HAL nie może zmieniać pola nabycia_fence podczas wywołania Process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

Gdy warstwa HAL zwraca bufor wejściowy do struktury za pomocą metody Process_capture_result(), parametr nabycia_fence musi być ustawiony na -1. Jeśli warstwa HAL nigdy nie czeka na zabezpieczenie bufora wejściowego z powodu błędu, ograniczenia synchronizacji powinny być obsługiwane w podobny sposób, w jaki są obsługiwane w przypadku buforów wyjściowych.

Definicja w linii 1800 pliku kamera3.h .

bufor_uchwyt_t* bufor

Natywne dojście do bufora

Definicja w linii 1764 pliku kamera3.h .

int release_fence

Ogrodzenie synchronizacji wydania dla tego bufora. HAL musi ustawić to ograniczenie podczas zwracania buforów do struktury lub zapisać -1, aby wskazać, że nie jest wymagane oczekiwanie na ten bufor.

W przypadku buforów wyjściowych ograniczenia muszą być ustawione w tablicy Output_buffers przekazanej do Process_capture_result().

<= CAMERA_DEVICE_API_VERSION_3_1:

W przypadku bufora wejściowego granica zwolnienia musi zostać ustawiona za pomocą wywołania Process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

W przypadku bufora wejściowego ograniczenia muszą być ustawione w buforze wejściowym przekazanym do Process_capture_result().

Po zasygnalizowaniu release_fence dla tego bufora, warstwa HAL nie powinna podejmować żadnych dalszych prób uzyskania dostępu do tego bufora, ponieważ własność została w pełni przeniesiona z powrotem do struktury.

Jeśli określono ograniczenie -1, własność tego bufora zostaje zwrócona natychmiast po wywołaniu Process_capture_result.

Definicja w linii 1827 pliku kamera3.h .

stan int

Bieżący stan bufora, jedna z wartości kamery3_buffer_status_t. Struktura nie przekaże buforów do warstwy HAL, które są w stanie błędu. W przypadku, gdy bufor nie może zostać wypełniony przez warstwę HAL, musi mieć status ustawiony na CAMERA3_BUFFER_STATUS_ERROR po zwróceniu do struktury za pomocą metody Process_capture_result().

Definicja w linii 1773 pliku kamera3.h .

kamera3_stream_t * strumień

Uchwyt strumienia, z którym jest powiązany ten bufor

Definicja w linii 1759 pliku kamera3.h .


Dokumentacja tej struktury została wygenerowana z następującego pliku:
  • hardware/libhardware/include/hardware/ camera3.h