Tek Üretici Çoklu Tüketici Kamera Ara Bellek Aktarımı

Bu özellik, yakalama oturumu etkinken ve kamera akışı devam ederken kamera istemcilerinin çıktı yüzeylerini dinamik olarak eklemesine ve kaldırmasına olanak tanıyan bir dizi yöntem sunar. Yeni bir çıktı, kullanıcı tarafından seçilen belirli bir paylaşılan kamera akışıyla eşleşebilir. Bir yüzey eklendikten sonra istenildiği zaman kaldırılabilir.

Genel fikir, belirli bir kamera akışıyla ilişkili arabellekleri çeşitli çıktı yüzeyleri içinde paylaşmaktır. Dahili bir referans sayacı, tüketici tarafında daha ileri işlemlere hazır hale gelen ara bellekleri takip eder. Tüm tüketiciler ilgili görevlerini tamamladığında arabellek kuyruktan çıkarılır ve kamera için kullanılabilir hale gelir.

Arabellek paylaşımı

Şekil 1. Arabellek paylaşımı

Şekil 1, kamera akışı (2) tarafından işlenen arabelleklerin dinamik olarak eklendiği ve ayrıldığı, referans sayıldığı ve kamera hizmeti içindeki tahsis edilmiş bir paylaşılan çıkış akışı içindeki akış bölme bileşeni tarafından yönetildiği bir örnek senaryoyu göstermektedir.

Örnekler ve kaynak

Bu özelliğin temel uygulaması Camera3StreamSplitter modülünde bulunabilir. Bu özelliğe ilişkin belgeler geliştirici referansında bulunabilir:

Uygulama

Bu özellik çerçeve tarafında uygulandığından Kamera HAL tarafında herhangi bir uygulamaya gerek yoktur.

Doğrulama

Uygulamanız, bu özelliği kapsayan CTS vakalarını MultiViewTest modülünden ve yerel API için yerel JNI kitaplığından geçirmelidir.