camera3_stream_buffer Yapı Referansı

camera3_stream_buffer Yapı Referansı

#include < camera3.h >

Veri Alanları

camera3_stream_t stream
 
buffer_handle_t *  arabelleğe alma
 
int  durum
 
int  acquire_fence
 
int  release_fence
 

Ayrıntılı Açıklama

camera3_stream_buffer_t:

camera3 akışından tek bir arabellek. Üst akışının bir tutamacını, gralloc arabelleğinin kendisinin tutamacını ve senkronizasyon çitlerini içerir.

Tamponun giriş veya çıkış için kullanılıp kullanılmayacağı belirtilmez. Bu, üst yayın türüne ve tamponun HAL cihazına nasıl aktarıldığına göre belirlenir.

Tanımı, camera3.h dosyasının 1755 satırı

Alan Belgeleri

int acquire_fence

Bu arabellek için senkronizasyon çiti edinme. HAL, bu arabellekten okumaya veya bu arabelleğe yazmaya başlamadan önce bu çit fd'sini beklemelidir.

Çerçeve, bu tampon için bekleme gerekmediğini belirtmek üzere -1 olarak ayarlanabilir.

HAL, process_capture_result() ile çerçeveye bir çıkış arabelleği döndürdüğünde acquire_fence -1 olarak ayarlanmalıdır. HAL, bir arabelleği doldurmayla ilgili bir hata nedeniyle acquire_fence'te hiç beklemezse process_capture_result() çağrılırken HAL, arabelleğin release_fence değerini çerçeve tarafından kendisine iletilen acquire_fence olarak ayarlamalıdır. Bu sayede çerçeve, arabelleği yeniden kullanmadan önce bekleyebilir.

Giriş arabelleklerinde HAL, process_capture_request() çağrısı sırasında acquire_fence alanını değiştirmemelidir.

>= CAMERA_DEVICE_API_VERSION_3_2:

HAL, process_capture_result() ile çerçeveye bir giriş arabelleği döndürdüğünde acquire_fence -1 olarak ayarlanmalıdır. HAL, bir hata nedeniyle giriş arabelleğinin edinme çitinin önünde hiç beklemezse senkronizasyon çitleri, çıkış arabelleklerinde işlendikleri şekilde işlenmelidir.

Tanımı, camera3.h dosyasının 1800 satırı

buffer_handle_t* buffer

Arabelleğin yerel kolu

Tanımı, camera3.h dosyasının 1764 satırı

int release_fence

Bu arabelleğin sürüm senkronizasyon çiti. HAL, çerçeveye arabellekler döndürürken bu çiti ayarlamalı veya bu arabellek için bekleme gerekmediğini belirtmek üzere -1 yazmalıdır.

Çıkış tamponları için çitler, process_capture_result() işlevine iletilen output_buffers dizisinde ayarlanmalıdır.

<= CAMERA_DEVICE_API_VERSION_3_1:

Giriş arabelleği için serbest bırakma çiti, process_capture_request() çağrısı tarafından ayarlanmalıdır.

>= CAMERA_DEVICE_API_VERSION_3_2:

Giriş arabelleği için çitler, process_capture_result() işlevine iletilen input_buffer içinde ayarlanmalıdır.

Mülkiyet tamamen çerçeveye geri aktarıldığı için HAL, bu arabellek için release_fence sinyalini gönderdikten sonra bu arabelleğe erişmek için başka bir girişimde bulunmamalıdır.

-1 değerinde bir çit belirtilmişse bu arabelleğin sahipliği, process_capture_result çağrısı yapıldıktan hemen sonra geri aktarılır.

Tanımı, şu dosyanın 1827 satırı: camera3.h .

int durum

Arabelleğin mevcut durumu (camera3_buffer_status_t değerlerinden biri). Çerçeve, hata durumundaki arabellekleri HAL'e iletmez. Bir arabellek HAL tarafından doldurulamazsa process_capture_result() ile çerçeveye döndürüldüğünde durumu CAMERA3_BUFFER_STATUS_ERROR olarak ayarlanmalıdır.

Tanımı, camera3.h dosyasının 1773 satırı

Bu arabelleğin ilişkili olduğu yayının herkese açık kullanıcı adı

Tanımı, camera3.h dosyasının 1759 satırı


Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur: