Referensi Struktur camera3_stream_buffer

Referensi Struktur camera3_stream_buffer

#include < camera3.h >

Bidang Data

camera3_stream_t *aliran
buffer_handle_t *penyangga
intstatus
intgain_fence
intrelease_fence

Detil Deskripsi

camera3_stream_buffer_t:

Buffer tunggal dari aliran camera3. Ini mencakup pegangan ke aliran induknya, pegangan ke buffer gralloc itu sendiri, dan pagar sinkronisasi

Buffer tidak menentukan apakah itu akan digunakan untuk input atau output; yang ditentukan oleh jenis aliran induknya dan bagaimana buffer diteruskan ke perangkat HAL.

Definisi pada baris 1755 dari file camera3.h .

Dokumentasi Lapangan

int gain_fence

Pagar sinkronisasi perolehan untuk penyangga ini. HAL harus menunggu di pagar ini fd sebelum mencoba membaca dari atau menulis ke buffer ini.

Kerangka dapat disetel ke -1 untuk menunjukkan bahwa tidak perlu menunggu untuk buffer ini.

Ketika HAL mengembalikan buffer keluaran ke kerangka kerja dengan process_capture_result (), perolehan_fence harus disetel ke -1. Jika HAL tidak pernah menunggu di gain_fence karena kesalahan dalam mengisi buffer, saat memanggil process_capture_result () HAL harus menyetel release_fence dari buffer menjadi gain_fence yang diteruskan kepadanya oleh kerangka kerja. Ini akan memungkinkan kerangka untuk menunggu di pagar sebelum menggunakan kembali penyangga.

Untuk buffer input, HAL tidak boleh mengubah bidang gain_fence selama panggilan process_capture_request ().

> = CAMERA_DEVICE_API_VERSION_3_2:

Ketika HAL mengembalikan buffer input ke kerangka kerja dengan process_capture_result (), perolehan_fence harus disetel ke -1. Jika HAL tidak pernah menunggu buffer input memperoleh fence karena adanya error, pagar sinkronisasi harus ditangani sama seperti cara penanganannya untuk buffer keluaran.

Definisi pada baris 1800 file camera3.h .

buffer_handle_t * buffer

Tuas asli ke buffer

Definisi pada baris 1764 file camera3.h .

int release_fence

Pagar sinkronisasi rilis untuk penyangga ini. HAL harus menyetel pagar ini saat mengembalikan buffer ke kerangka kerja, atau menulis -1 untuk menunjukkan bahwa tidak perlu menunggu untuk buffer ini.

Untuk buffer keluaran, pagar harus disetel dalam larik output_buffers yang diteruskan ke process_capture_result ().

<= CAMERA_DEVICE_API_VERSION_3_1:

Untuk buffer input, pagar rilis harus disetel oleh panggilan process_capture_request ().

> = CAMERA_DEVICE_API_VERSION_3_2:

Untuk buffer input, pagar harus disetel di input_buffer yang diteruskan ke process_capture_result ().

Setelah memberi sinyal release_fence untuk buffer ini, HAL tidak boleh mencoba lagi mengakses buffer ini karena kepemilikan telah sepenuhnya ditransfer kembali ke framework.

Jika pagar -1 telah ditentukan maka kepemilikan buffer ini akan segera ditransfer kembali setelah pemanggilan process_capture_result.

Definisi pada baris 1827 dari file camera3.h .

status int

Status buffer saat ini, salah satu nilai camera3_buffer_status_t. Kerangka tidak akan meneruskan buffer ke HAL yang berada dalam status kesalahan. Jika buffer tidak dapat diisi oleh HAL, statusnya harus disetel ke CAMERA3_BUFFER_STATUS_ERROR saat dikembalikan ke kerangka kerja dengan process_capture_result ().

Definisi pada baris 1773 dari file camera3.h .

camera3_stream_t * streaming

Pegangan aliran yang terkait dengan buffer ini

Definisi pada baris 1759 file camera3.h .


Dokumentasi untuk struct ini dihasilkan dari file berikut:
  • hardware / libhardware / include / hardware / camera3.h