Satu produsen, beberapa transportasi buffering kamera konsumen

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

Idenya adalah untuk membagikan buffer yang terkait dengan aliran kamera tertentu dalam beberapa platform output. Penghitung referensi internal melacak buffer saat buffer siap untuk diproses lebih lanjut di sisi konsumen. Saat semua konsumen menyelesaikan tugas masing-masing, buffer akan dikeluarkan dari antrean dan tersedia untuk kamera.

Berbagi buffer

Gambar 1. Berbagi buffer

Gambar 1 menggambarkan satu contoh skenario saat buffer yang diproses oleh streaming kamera 2 dilampirkan dan dilepas secara dinamis, dihitung referensinya, dan dikelola oleh komponen pemisah streaming di dalam streaming 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 ada implementasi yang diperlukan di sisi HAL Kamera karena fitur ini diimplementasikan di sisi framework.

Validasi

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