Referensi Struktur camera3_stream_buffer
#include < camera3.h >
Bidang Data | |
camera3_stream_t * | aliran |
buffer_handle_t * | penyangga |
int | status |
int | gain_fence |
int | release_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.
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.
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.
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 ().
camera3_stream_t * streaming |
Dokumentasi untuk struct ini dihasilkan dari file berikut:
- hardware / libhardware / include / hardware / camera3.h