Một nhà sản xuất, nhiều trình truyền tải vùng đệm máy ảnh của người dùng

Tính năng này giới thiệu một nhóm phương thức cho phép ứng dụng camera thêm và xoá các bề mặt đầu ra một cách linh động trong khi phiên chụp đang hoạt động và quá trình truyền phát camera đang diễn ra. Một đầu ra mới có thể ánh xạ đến một luồng camera dùng chung cụ thể do người dùng chọn . Sau khi thêm một bề mặt, bạn có thể xoá bề mặt đó bất cứ lúc nào.

Ý tưởng chung là chia sẻ các vùng đệm được liên kết với một luồng camera cụ thể trong một số bề mặt đầu ra. Bộ đếm tham chiếu nội bộ theo dõi các vùng đệm khi chúng sẵn sàng để xử lý thêm ở phía người tiêu dùng. Khi tất cả người tiêu dùng hoàn tất các tác vụ tương ứng, vùng đệm sẽ được loại bỏ khỏi hàng đợi và có sẵn cho camera.

Chia sẻ vùng đệm

Hình 1. Chia sẻ vùng đệm

Hình 1 minh hoạ một tình huống ví dụ trong đó các vùng đệm do luồng camera 2 xử lý được đính kèm và tách rời một cách linh động, được đếm tham chiếu và được quản lý bởi thành phần bộ tách luồng bên trong một luồng đầu ra dùng chung riêng biệt trong dịch vụ camera.

Ví dụ và nguồn

Bạn có thể tìm thấy cách triển khai cốt lõi của tính năng này trong mô-đun Camera3StreamSplitter. Bạn có thể tìm thấy tài liệu về tính năng này trong tài liệu tham khảo dành cho nhà phát triển:

Triển khai

Bạn không cần triển khai ở phía HAL camera vì tính năng này được triển khai ở phía khung.

Xác nhận kết quả

Cách triển khai của bạn phải vượt qua các trường hợp CTS bao gồm tính năng này từ mô-đun MultiViewTestthư viện JNI gốc cho API gốc.