Transpor buffer kamera satu produsen dan beberapa konsumen

Fitur ini memperkenalkan serangkaian metode yang memungkinkan klien kamera menambahkan dan menghapus platform output secara dinamis saat sesi pengambilan gambar aktif dan streaming kamera sedang berlangsung. Output baru dapat dipetakan ke streaming kamera bersama tertentu yang dipilih pengguna. Setelah ditambahkan, platform dapat dihapus kapan saja.

Ide umumnya adalah berbagi buffering yang terkait dengan streaming kamera tertentu dalam beberapa platform output. Penghitung referensi internal melacak buffer saat siap untuk diproses lebih lanjut di sisi konsumen. Saat semua konsumen menyelesaikan tugasnya masing-masing, buffering akan dikeluarkan dari antrean dan tersedia untuk kamera.

Berbagi buffer

Gambar 1. Berbagi buffer

Gambar 1 menunjukkan satu contoh skenario saat buffer yang diproses oleh aliran data kamera 2 terpasang dan dilepas secara dinamis, referensi dihitung, serta dikelola oleh komponen pemisah streaming di dalam aliran output bersama khusus dalam layanan kamera.

Contoh dan sumber

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

Implementasi

Tidak diperlukan implementasi di sisi Camera HAL karena fitur ini diimplementasikan pada sisi framework.

Validasi

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