מפיק יחיד, מאגר נתונים זמני של מצלמות מרובות לצרכנים

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

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

שיתוף מאגר נתונים זמני

איור 1. שיתוף מאגר נתונים זמני

באיור 1 מוצג תרחיש לדוגמה שבו מאגרי הנתונים שמעובדים על ידי מקור הנתונים מס' 2 במצלמה מצורפים ומנותקים באופן דינמי, נספרים ומנוהלים על ידי הרכיב שמחלק את מקור הנתונים בתוך מקור נתונים ייעודי ומשותף של פלט בשירות המצלמה.

דוגמאות ומקור

ניתן למצוא את ההטמעה העיקרית של התכונה הזו במודול Camera3StreamSplitter. ניתן למצוא תיעוד לגבי התכונה הזו בחומר העזר למפתחים:

הטמעה

לא נדרשת הטמעה בצד המצלמה עם HAL כי היא מוטמעת בצד של ה-framework.

אימות

ההטמעה שלכם צריכה לעבור את בדיקות CTS שמכסות את התכונה הזו מהמודול MultiViewTest ומספריית ה-JNI המקורית של ה-API המקורי.