Pengangkutan Penyangga Kamera Produsen Tunggal Banyak Konsumen

Fitur ini memperkenalkan serangkaian metode yang memungkinkan klien kamera untuk menambah dan menghapus permukaan keluaran secara dinamis saat sesi pengambilan aktif dan streaming kamera sedang berlangsung. Keluaran baru dapat dipetakan ke aliran kamera bersama tertentu yang dipilih pengguna. Setelah permukaan ditambahkan, itu dapat dihapus kapan saja.

Ide umumnya adalah untuk berbagi buffer yang terkait dengan aliran kamera tertentu dalam beberapa permukaan keluaran. Penghitung referensi internal melacak buffer saat mereka siap untuk diproses lebih lanjut di sisi konsumen. Ketika semua konsumen menyelesaikan tugas mereka masing-masing, buffer akan di-dequeued dan tersedia untuk kamera.

Berbagi penyangga

Gambar 1. Berbagi buffer

Gambar 1 menggambarkan satu contoh skenario di mana buffer yang diproses oleh aliran kamera 2 secara dinamis dipasang dan dilepas, referensi dihitung, dan dikelola oleh komponen pemisah aliran di dalam aliran keluaran bersama khusus dalam layanan kamera.

Contoh dan sumber

Implementasi inti dari fitur ini dapat ditemukan di modul Camera3StreamSplitter . Dokumentasi tentang fitur ini dapat ditemukan di referensi pengembang:

Penerapan

Tidak diperlukan implementasi di sisi Kamera HAL karena fitur ini diimplementasikan di sisi kerangka kerja.

Validasi

Implementasi Anda harus melewati kasus CTS yang mencakup fitur ini dari modul MultiViewTest dan library JNI asli untuk API asli.