27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
camera3_stream_buffer Yapı Referansı
#include <
camera3.h
>
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ı
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ı
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
.
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:
-
hardware/libhardware/include/hardware/
camera3.h
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Android Hardware Abstraction Layer: camera3_stream_buffer Struct Reference\n\ncamera3_stream_buffer Struct Reference\n======================================\n\n[Data Fields](#pub-attribs) \ncamera3_stream_buffer Struct Reference \n\n`\n#include \u003c\n`[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)`\n\u003e\n`\n\n|---------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|\n| Data Fields ----------- ||\n| [camera3_stream_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* | [stream](/reference/hal/structcamera3__stream__buffer#afaf6c85f165b4180fe63affae0232dad) |\n| ||\n| buffer_handle_t \\* | [buffer](/reference/hal/structcamera3__stream__buffer#ab87cddef201db642e7972d124d741dc2) |\n| ||\n| int | [status](/reference/hal/structcamera3__stream__buffer#a6e27f49150e9a14580fb313cc2777e00) |\n| ||\n| int | [acquire_fence](/reference/hal/structcamera3__stream__buffer#a5d59e0770b54af97a9fe151da5688719) |\n| ||\n| int | [release_fence](/reference/hal/structcamera3__stream__buffer#a248e5f7856e4c2877715fc9fda8d8ba8) |\n| ||\n\n\nDetailed Description\n--------------------\n\n\ncamera3_stream_buffer_t:\n\n\nA single buffer from a camera3 stream. It includes a handle to its parent stream, the handle to the gralloc buffer itself, and sync fences\n\n\nThe buffer does not specify whether it is to be used for input or output; that is determined by its parent stream type and how the buffer is passed to the HAL device.\n\n\nDefinition at line\n[1755](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\nField Documentation\n-------------------\n\n\n|-------------------|\n| int acquire_fence |\n\n\nThe acquire sync fence for this buffer. The HAL must wait on this fence fd before attempting to read from or write to this buffer.\n\n\nThe framework may be set to -1 to indicate that no waiting is necessary for this buffer.\n\n\nWhen the HAL returns an output buffer to the framework with process_capture_result(), the acquire_fence must be set to -1. If the HAL never waits on the acquire_fence due to an error in filling a buffer, when calling process_capture_result() the HAL must set the release_fence of the buffer to be the acquire_fence passed to it by the framework. This will allow the framework to wait on the fence before reusing the buffer.\n\n\nFor input buffers, the HAL must not change the acquire_fence field during the process_capture_request() call.\n\n\n\\\u003e= CAMERA_DEVICE_API_VERSION_3_2:\n\n\nWhen the HAL returns an input buffer to the framework with process_capture_result(), the acquire_fence must be set to -1. If the HAL never waits on input buffer acquire fence due to an error, the sync fences should be handled similarly to the way they are handled for output buffers.\n\n\nDefinition at line\n[1800](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|--------------------------|\n| buffer_handle_t\\* buffer |\n\n\nThe native handle to the buffer\n\n\nDefinition at line\n[1764](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|-------------------|\n| int release_fence |\n\n\nThe release sync fence for this buffer. The HAL must set this fence when returning buffers to the framework, or write -1 to indicate that no waiting is required for this buffer.\n\n\nFor the output buffers, the fences must be set in the output_buffers array passed to process_capture_result().\n\n\n\\\u003c= CAMERA_DEVICE_API_VERSION_3_1:\n\n\nFor the input buffer, the release fence must be set by the process_capture_request() call.\n\n\n\\\u003e= CAMERA_DEVICE_API_VERSION_3_2:\n\n\nFor the input buffer, the fences must be set in the input_buffer passed to process_capture_result().\n\n\nAfter signaling the release_fence for this buffer, the HAL should not make any further attempts to access this buffer as the ownership has been fully transferred back to the framework.\n\n\nIf a fence of -1 was specified then the ownership of this buffer is transferred back immediately upon the call of process_capture_result.\n\n\nDefinition at line\n[1827](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|------------|\n| int status |\n\n\nCurrent state of the buffer, one of the camera3_buffer_status_t values. The framework will not pass buffers to the HAL that are in an error state. In case a buffer could not be filled by the HAL, it must have its status set to CAMERA3_BUFFER_STATUS_ERROR when returned to the framework with process_capture_result().\n\n\nDefinition at line\n[1773](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|----------------------------------------------------------------------------------------------------------------------------------|\n| [camera3_stream_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* stream |\n\n\nThe handle of the stream this buffer is associated with\n\n\nDefinition at line\n[1759](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n*** ** * ** ***\n\nThe documentation for this struct was generated from the following file:\n\n- hardware/libhardware/include/hardware/ [camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)"]]