קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

camera3_stream_buffer מבנה הפניה

camera3_stream_buffer מבנה הפניה

#include < camera3.h >

שדות נתונים

camera3_stream_t *זרם
חיץ ידית_ט *בַּלָם
intסטָטוּס
intגדר רכש
intשחרור_גדר

תיאור מפורט

camera3_stream_buffer_t:

מאגר יחיד מזרם camera3. הוא כולל ידית לזרם האב שלו, הידית למאגר הגרוקוק עצמו וגדרות סינכרון

המאגר אינו מציין אם יש להשתמש בו לצורך קלט או פלט; שנקבע על פי סוג הזרם האב שלו ואופן העברת המאגר למכשיר ה- HAL.

הגדרה בשורה 1755 של קובץ camera3.h .

תיעוד בשטח

int לרכוש_גדר

גדר הסנכרון לרכוש עבור חיץ זה. על ה- HAL להמתין על הגדר fd לפני שהוא מנסה לקרוא או לכתוב למאגר זה.

המסגרת עשויה להיות מוגדרת כ -1 כדי לציין כי אין צורך בהמתנה למאגר זה.

כאשר ה- HAL מחזיר חיץ פלט למסגרת עם process_capture_result (), יש להגדיר את הרכישה של גדר ל -1. אם ה- HAL לעולם לא ממתין לרכישת הגדר עקב שגיאה במילוי חוצץ, בעת קריאת process_capture_result () על ה- HAL להגדיר את שחרור הגדר של המאגר כגדר הרכישה המועברת אליו במסגרת. זה יאפשר למסגרת להמתין על הגדר לפני שימוש חוזר במאגר.

עבור מאגרי קלט, ה- HAL לא חייב לשנות את שדה הרכישה במהלך השיחה process_capture_request ().

> = CAMERA_DEVICE_API_VERSION_3_2:

כאשר ה- HAL מחזיר חיץ קלט למסגרת עם process_capture_result (), יש להגדיר את גדר הרכישה ל -1. אם ה- HAL לעולם לא ממתין לגדר רכישת מאגר קלט עקב שגיאה, יש לטפל בגדרות הסינכרון באופן דומה לאופן הטיפול בהם עבור מאגרי פלט.

הגדרה בשורה 1800 של קובץ camera3.h .

buffer_handle_t * buffer

הידית המקומית למאגר

הגדרה בשורה 1764 של קובץ camera3.h .

int שחרור_גדר

גדר הסינכרון לשחרור עבור מאגר זה. על ה- HAL להגדיר גדר זו כאשר הוא מחזיר מאגרים למסגרת, או לכתוב -1 כדי לציין שאין צורך בהמתנה למאגר זה.

עבור מאגרי הפלט, יש להגדיר את הגדרות במערך output_buffers המועבר ל- process_capture_result ().

<= CAMERA_DEVICE_API_VERSION_3_1:

עבור חיץ הקלט, יש להגדיר את גדר השחרור על ידי קריאת process_capture_request ().

> = CAMERA_DEVICE_API_VERSION_3_2:

עבור חיץ הקלט, יש להגדיר את הגדרות במאגר הקלט המועבר לתהליך process_capture_result ().

לאחר איתות על שחרור הגדר למאגר זה, על ה- HAL לא לעשות כל ניסיון נוסף לגשת למאגר זה מכיוון שהבעלות הועברה במלואה חזרה למסגרת.

אם צויין גדר של -1, הבעלות על מאגר זה מועברת בחזרה מיד עם קריאת process_capture_result.

הגדרה בשורה 1827 של קובץ camera3.h .

מעמד int

המצב הנוכחי של המאגר, אחד מערכי camera3_buffer_status_t. המסגרת לא תעביר מאגרים ל- HAL שנמצאים במצב שגיאה. במקרה שלא ניתן היה למלא חיץ על ידי ה- HAL, עליו להיות מוגדר כסטטוס CAMERA3_BUFFER_STATUS_ERROR כאשר הוא מוחזר למסגרת עם process_capture_result ().

הגדרה בשורה 1773 של קובץ camera3.h .

הידית של הזרם שמאגר זה משויך אליו

הגדרה בשורה 1759 של קובץ camera3.h .


התיעוד למבנה זה נוצר מהקובץ הבא:
  • חומרה / libhardware / include / hardware / camera3.h