Fitur ini memperkenalkan serangkaian metode yang memungkinkan klien kamera untuk menambahkan dan menghapus platform output secara dinamis saat sesi pengambilan aktif dan streaming kamera sedang berlangsung. Output baru dapat dipetakan ke output tertentu yang dipilih pengguna kamera bersama feed. Setelah ditambahkan, permukaan tersebut dapat dihapus kapan saja.
Ide umumnya adalah membagikan buffer yang terkait dengan kamera tertentu melakukan streaming dalam beberapa platform output. Penghitung referensi internal melacak {i>buffer<i} saat mereka siap untuk diproses lebih lanjut di sisi konsumen. Ketika semua konsumen menyelesaikan tugas mereka masing-masing, {i>buffer<i} akan dihapus dan tersedia untuk kamera.
Gambar 1. Berbagi buffer
Gambar 1 menunjukkan satu contoh skenario saat buffer diproses oleh kamera feed 2 dilampirkan dan dilepas secara dinamis, referensi dihitung, dan dikelola oleh komponen pembagi aliran data di dalam aliran output bersama khusus dalam layanan kamera.
Contoh dan sumber
Implementasi inti dari fitur ini dapat ditemukan di
Camera3StreamSplitter
ruang lingkup modul ini. Dokumentasi tentang fitur ini dapat ditemukan di referensi developer:
Implementasi
Tidak diperlukan implementasi di sisi HAL Kamera karena fitur ini yang diterapkan di sisi kerangka kerja.
Validasi
Penerapan Anda harus lulus kasus CTS yang mencakup fitur ini dari MultiViewTest dan library JNI native untuk API native.