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.
Ş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.