این ویژگی مجموعهای از روشها را معرفی میکند که به مشتریان دوربین اجازه میدهد تا سطوح خروجی را به صورت پویا اضافه و حذف کنند، در حالی که جلسه عکسبرداری فعال است و پخش جریانی دوربین ادامه دارد. یک خروجی جدید می تواند به یک جریان دوربین اشتراکی خاص و انتخاب شده توسط کاربر نگاشت شود. پس از اضافه شدن یک سطح، می توان آن را در هر زمان حذف کرد.
ایده کلی این است که بافرهای مرتبط با یک جریان دوربین خاص را در چندین سطح خروجی به اشتراک بگذارید. یک شمارنده مرجع داخلی، بافرها را هنگامی که برای پردازش بیشتر در سمت مصرف کننده آماده می شوند، پیگیری می کند. هنگامی که همه مصرف کنندگان وظایف مربوطه خود را انجام می دهند، بافر از صف خارج می شود و برای دوربین در دسترس است.
شکل 1. اشتراک بافر
شکل 1 یک سناریوی نمونه را نشان می دهد که در آن بافرهای پردازش شده توسط جریان دوربین 2 به صورت پویا متصل و جدا می شوند، مرجع شمارش می شوند و توسط جزء تقسیم کننده جریان در یک جریان خروجی مشترک اختصاصی در سرویس دوربین مدیریت می شوند.
مثال ها و منبع
پیاده سازی اصلی این ویژگی را می توان در ماژول Camera3StreamSplitter
یافت. اسناد مربوط به این ویژگی را می توان در مرجع توسعه دهنده یافت:
پیاده سازی
هیچ پیاده سازی در سمت دوربین HAL مورد نیاز نیست زیرا این ویژگی در سمت چارچوب پیاده سازی شده است.
اعتبار سنجی
پیاده سازی شما باید موارد CTS را که این ویژگی را از ماژول MultiViewTest و کتابخانه بومی JNI برای API اصلی پوشش می دهد، ارسال کند.