Transpor buffer kamera satu produsen dan beberapa konsumen

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.

Berbagi buffer

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.