এই বৈশিষ্ট্যটি পদ্ধতির একটি সেট প্রবর্তন করে যা ক্যামেরা ক্লায়েন্টদের ক্যাপচার সেশন সক্রিয় থাকাকালীন এবং ক্যামেরা স্ট্রিমিং চলমান থাকাকালীন গতিশীলভাবে আউটপুট পৃষ্ঠগুলি যুক্ত করতে এবং সরাতে দেয়। একটি নতুন আউটপুট একটি নির্দিষ্ট, ব্যবহারকারী-নির্বাচিত শেয়ার্ড ক্যামেরা স্ট্রীমে ম্যাপ করতে পারে। একটি পৃষ্ঠ যোগ করার পরে, এটি যেকোনো সময় সরানো যেতে পারে।
সাধারণ ধারণা হল কয়েকটি আউটপুট পৃষ্ঠের মধ্যে একটি নির্দিষ্ট ক্যামেরা স্ট্রিমের সাথে যুক্ত বাফারগুলি ভাগ করা। একটি অভ্যন্তরীণ রেফারেন্স কাউন্টার বাফারগুলির ট্র্যাক রাখে কারণ তারা ভোক্তাদের দিকে আরও প্রক্রিয়াকরণের জন্য প্রস্তুত হয়। যখন সমস্ত ভোক্তা তাদের নিজ নিজ কাজগুলি সম্পন্ন করে তখন বাফারটি সারিবদ্ধ হয় এবং ক্যামেরার জন্য উপলব্ধ থাকে।
চিত্র 1. বাফার শেয়ারিং
চিত্র 1 এমন একটি উদাহরণ চিত্রিত করে যেখানে ক্যামেরা স্ট্রিম 2 দ্বারা প্রক্রিয়াকৃত বাফারগুলি গতিশীলভাবে সংযুক্ত এবং বিচ্ছিন্ন, রেফারেন্স গণনা করা হয় এবং ক্যামেরা পরিষেবার মধ্যে একটি ডেডিকেটেড শেয়ার্ড আউটপুট স্ট্রীমের মধ্যে স্ট্রিম স্প্লিটার উপাদান দ্বারা পরিচালিত হয়।
উদাহরণ এবং উৎস
এই বৈশিষ্ট্যটির মূল বাস্তবায়ন Camera3StreamSplitter
মডিউলে পাওয়া যাবে। এই বৈশিষ্ট্যের ডকুমেন্টেশন বিকাশকারী রেফারেন্সে পাওয়া যাবে:
বাস্তবায়ন
ক্যামেরা HAL সাইডে কোনো বাস্তবায়নের প্রয়োজন নেই কারণ এই বৈশিষ্ট্যটি ফ্রেমওয়ার্ক সাইডে প্রয়োগ করা হয়েছে।
বৈধতা
আপনার বাস্তবায়নকে অবশ্যই CTS কেস পাস করতে হবে যা এই বৈশিষ্ট্যটি MultiViewTest মডিউল এবং নেটিভ API-এর জন্য নেটিভ JNI লাইব্রেরি থেকে কভার করে।