Camera3_stream_buffer Riferimento alla struttura

Camera3_stream_buffer Riferimento alla struttura

#include < camera3.h >

Campi dati

camera3_stream_t * flusso
buffer_handle_t * respingente
int stato
int acquisire_recinto
int release_fence

Descrizione dettagliata

camera3_stream_buffer_t:

Un singolo buffer da un flusso camera3. Include un handle per il suo flusso genitore, l'handle per il buffer gralloc stesso e le barriere di sincronizzazione

Il buffer non specifica se deve essere utilizzato per l'input o l'output; che è determinato dal tipo di flusso principale e dal modo in cui il buffer viene passato al dispositivo HAL.

Definizione alla riga 1755 del file camera3.h .

Documentazione sul campo

int acquisisci_recinto

Il recinto di sincronizzazione di acquisizione per questo buffer. L'HAL deve attendere su questo recinto fd prima di tentare di leggere o scrivere su questo buffer.

Il quadro può essere impostato su -1 per indicare che non è necessaria alcuna attesa per questo buffer.

Quando l'HAL restituisce un buffer di output al framework con process_capture_result(), acquire_fence deve essere impostato su -1. Se l'HAL non attende mai acquire_fence a causa di un errore nel riempimento di un buffer, quando si chiama process_capture_result() l'HAL deve impostare release_fence del buffer in modo che sia l'acquisition_fence passatogli dal framework. Ciò consentirà al framework di attendere nel recinto prima di riutilizzare il buffer.

Per i buffer di input, l'HAL non deve modificare il campo acquire_fence durante la chiamata process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

Quando l'HAL restituisce un buffer di input al framework con process_capture_result(), acquire_fence deve essere impostato su -1. Se l'HAL non attende mai che il buffer di input acquisisca il recinto a causa di un errore, i recinti di sincronizzazione dovrebbero essere gestiti in modo simile al modo in cui vengono gestiti per i buffer di output.

Definizione alla riga 1800 del file camera3.h .

buffer_handle_t* buffer

L'handle nativo del buffer

Definizione alla riga 1764 del file camera3.h .

int release_fence

Il limite di sincronizzazione del rilascio per questo buffer. L'HAL deve impostare questa recinzione quando restituisce i buffer al framework o scrivere -1 per indicare che non è richiesta alcuna attesa per questo buffer.

Per i buffer di output, i recinti devono essere impostati nell'array output_buffers passato a process_capture_result().

<= CAMERA_DEVICE_API_VERSION_3_1:

Per il buffer di input, il limite di rilascio deve essere impostato dalla chiamata process_capture_request().

>= CAMERA_DEVICE_API_VERSION_3_2:

Per il buffer di input, i recinti devono essere impostati in input_buffer passato a process_capture_result().

Dopo aver segnalato release_fence per questo buffer, l'HAL non dovrebbe effettuare ulteriori tentativi di accesso a questo buffer poiché la proprietà è stata completamente trasferita nuovamente al framework.

Se è stata specificata una recinzione pari a -1, la proprietà di questo buffer viene ritrasferita immediatamente alla chiamata di process_capture_result.

Definizione alla riga 1827 del file camera3.h .

stato intero

Stato corrente del buffer, uno dei valori camera3_buffer_status_t. Il framework non passerà i buffer all'HAL che si trovano in uno stato di errore. Nel caso in cui un buffer non possa essere riempito dall'HAL, il suo stato deve essere impostato su CAMERA3_BUFFER_STATUS_ERROR quando restituito al framework con process_capture_result().

Definizione alla riga 1773 del file camera3.h .

L'handle del flusso a cui è associato questo buffer

Definizione alla riga 1759 del file camera3.h .


La documentazione per questa struttura è stata generata dal seguente file:
  • hardware/libhardware/include/hardware/ camera3.h