Bu özellik, kamera istemcilerinin kayıt oturumu etkinken ve kamera aktarımı devam ederken çıkış yüzeylerini dinamik olarak eklemesine ve kaldırmasına olanak tanıyan bir dizi yöntem sunar. Yeni bir çıkış, kullanıcı tarafından seçilen belirli bir ortak kamera akışıyla eşlenebilir. Eklenen yüzeyler dilediğiniz zaman kaldırılabilir.
Genel fikir, belirli bir kamera akışıyla ilişkili arabellekleri birkaç çıkış yüzeyinde paylaşmaktır. Tüketici tarafında daha fazla işleme hazır hale geldikçe dahili bir referans sayacı, arabelleklerin takibini yapar. Tüm tüketiciler kendi görevlerini tamamladığında arabellek sıra dışı bırakılır ve kamera için kullanılabilir hale gelir.
Şekil 1. Arabellek paylaşımı
Şekil 1'de, kamera akışı 2 tarafından işlenen arabelleklerin dinamik olarak eklendiği ve ayrıldığı, kamera hizmeti içindeki özel bir paylaşılan çıkış akışının içindeki akış ayırıcı bileşeni tarafından referans sayıldığı ve yönetildiği bir örnek senaryo gösterilmektedir.
Örnekler ve kaynak
Bu özelliğin temel uygulamasını Camera3StreamSplitter
modülünde bulabilirsiniz. Bu özellikle ilgili belgeler, geliştirici referansında bulunabilir:
Uygulama
Bu özellik çerçeve tarafında uygulandığından Kamera HAL tarafında uygulama gerekmez.
Doğrulama
Uygulamanız, bu özelliği kapsayan CTS destek kayıtlarını MultiViewTest modülünden ve yerel API için yerel JNI kitaplığından geçmelidir.