Referensi Struktur camera3_stream_buffer

Referensi Struktur camera3_stream_buffer

#include < camera3.h >

Bidang Data

kamera3_stream_t * sungai kecil
buffer_handle_t * penyangga
ke dalam status
ke dalam memperoleh_pagar
ke dalam rilis_pagar

Detil Deskripsi

kamera3_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 akan digunakan untuk input atau output; yang ditentukan oleh jenis aliran induknya dan cara buffer diteruskan ke perangkat HAL.

Definisi pada baris 1755 file camera3.h .

Dokumentasi Lapangan

int memperoleh_pagar

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

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

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

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

>= KAMERA_DEVICE_API_VERSION_3_2:

Ketika HAL mengembalikan buffer input ke kerangka kerja dengan process_capture_result(), acquire_fence harus disetel ke -1. Jika HAL tidak pernah menunggu pagar perolehan buffer masukan karena kesalahan, pagar sinkronisasi harus ditangani sama dengan cara menangani buffer keluaran.

Definisi pada baris 1800 file camera3.h .

buffer_handle_t* penyangga

Pegangan asli ke buffer

Definisi pada baris 1764 dari file camera3.h .

int rilis_pagar

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

Untuk buffer keluaran, pagar harus diatur dalam array output_buffers yang diteruskan ke process_capture_result().

<= KAMERA_DEVICE_API_VERSION_3_1:

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

>= KAMERA_DEVICE_API_VERSION_3_2:

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

Setelah memberi sinyal rilis_fence untuk buffer ini, HAL tidak boleh melakukan upaya lebih lanjut untuk mengakses buffer ini karena kepemilikan telah sepenuhnya ditransfer kembali ke kerangka kerja.

Jika pagar -1 ditentukan maka kepemilikan buffer ini ditransfer kembali segera setelah panggilan process_capture_result.

Definisi pada baris 1827 dari file camera3.h .

status ke dalam

Status buffer saat ini, salah satu nilai camera3_buffer_status_t. Kerangka kerja 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 ketika dikembalikan ke kerangka kerja dengan process_capture_result().

Definisi pada baris 1773 dari file camera3.h .

Pegangan aliran yang dikaitkan dengan buffer ini

Definisi pada baris 1759 file camera3.h .


Dokumentasi untuk struct ini dihasilkan dari file berikut:
  • perangkat keras/libhardware/termasuk/perangkat keras/ kamera3.h