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 các ứ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 trực tiếp camera đang diễn ra. Một đầu ra mới có thể liên kết đến một luồng camera dùng chung cụ thể do người dùng chọn. Sau khi được thêm, bạn có thể xoá một nền tảng bất cứ lúc nào.

Ý tưởng chung là chia sẻ các vùng đệm liên kết với một luồng camera cụ thể trong một số nền tảng đầ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 dùng. Khi tất cả các thành phần sử 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 mô tả một ví dụ về trường hợp trong đó các vùng đệm do luồng camera 2 xử lý được đính kèm và tách rời linh hoạt, được đếm tham chiếu và được quản lý bởi thành phần bộ chia luồng bên trong một luồng đầu ra dùng chung chuyên dụng trong dịch vụ camera.

Ví dụ và nguồn

Bạn có thể tìm thấy quá trình triển khai cốt lõi của tính năng này trong mô-đun Camera3StreamSplitter. Bạn có thể xem 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 Camera HAL vì tính năng này được triển khai ở phía khung.

Xác nhận kết quả

Quy trình 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 trong mô-đun MultiViewTestthư viện JNI gốc cho API gốc.