انتقال بافر دوربین تک تولیدکننده، چند مصرف‌کننده

این ویژگی مجموعه‌ای از روش‌ها را معرفی می‌کند که به مشتریان دوربین امکان می‌دهد سطوح برونداد را به‌صورت پویا درحالی‌که جلسه ضبط فعال است و جاری‌سازی دوربین درحال انجام است اضافه و حذف کنند. خروجی جدید می‌تواند به جاری‌سازی دوربین هم‌رسانی‌شده خاصی که کاربر انتخاب کرده است نگاشت شود. پس‌از اضافه شدن سطح، می‌توانید آن را هرزمان بخواهید بردارید.

ایده کلی این است که بافرهای مربوط به یک جاری‌سازی دوربین خاص را در چندین سطح خروجی هم‌رسانی کنید. یک شمارنده مرجع داخلی بافرها را هم‌زمان با آماده شدن برای پردازش بیشتر در سمت مصرف‌کننده پیگیری می‌کند. وقتی همه مصرف‌کنندگان تکالیف مربوطه را تکمیل کنند، بافر از صف خارج می‌شود و برای دوربین دردسترس قرار می‌گیرد.

هم‌رسانی میان‌گیری

شکل ۱. هم‌رسانی میان‌گیر

شکل ۱ یک سناریو نمونه را نشان می‌دهد که در آن بافرهای پردازش‌شده توسط جاری‌سازی دوربین ۲ به‌صورت پویا پیوست و جدا می‌شوند، شمارش مرجع می‌شوند، و توسط مؤلفه شکافنده جاری‌سازی در یک جاری‌سازی برونداد مشترک اختصاصی در سرویس دوربین مدیریت می‌شوند.

مثال‌ها و منبع

پیاده‌سازی اصلی این ویژگی را می‌توانید در Camera3StreamSplitter واحد پیدا کنید. اسناد مربوط به این ویژگی را می‌توانید در مرجع توسعه‌دهنده پیدا کنید:

پیاده‌سازی

در سمت Camera HAL نیازی به پیاده‌سازی نیست زیرا این ویژگی در سمت چارچوب پیاده‌سازی شده است.

اعتبارسنجی

پیاده‌سازی شما باید موارد «مجموعه آزمون سازگاری» را که این ویژگی را از MultiViewTest واحد و کتابخانه JNI بومی برای «میانای برنامه‌سازی کاربردی» بومی پوشش می‌دهد بگذراند.