Tek üretici, birden fazla tüketici kamera arabelleği aktarımı

Bu özellik, yakalama oturumu etkin ve kamera yayını devam ederken kamera istemcilerinin çı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 paylaşılan kamera akışıyla eşlenebilir. Eklenen yüzeyler istediğiniz zaman kaldırılabilir.

Genel olarak, belirli bir kamera akışıyla ilişkili arabelleklerin birkaç çıkış yüzeyinde paylaşılması amaçlanır. Dahili referans sayacı, arabellekler tüketici tarafında daha fazla işlenmeye hazır hale geldikçe bunları takip eder. Tüm tüketiciler kendi görevlerini tamamladığında arabellek kuyruktan çıkarılır ve kamera için kullanılabilir hâle gelir.

Arabellek paylaşımı

1. şekil. Arabellek paylaşımı

Şekil 1, kamera akışı 2 tarafından işlenen arabelleklerin dinamik olarak eklenip çıkarıldığı, referans sayısının belirlendiği ve kamera hizmetindeki özel bir paylaşılan çıkış akışında akış ayırıcı bileşeni tarafından yönetildiği bir örnek senaryoyu gösterir.

Örnekler ve kaynak

Bu özelliğin temel uygulaması Camera3StreamSplitter modülünde bulunabilir. Bu özellik hakkındaki dokümanları geliştirici referansında bulabilirsiniz:

Uygulama

Bu özellik çerçeve tarafında uygulandığından Kamera HAL tarafında herhangi bir uygulama gerekmez.

Doğrulama

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