Transport bufora kamery z jednego źródła do wielu odbiorców

Ta funkcja wprowadza zestaw metod, które umożliwiają klientom kamery dynamiczne dodawanie i usuwanie powierzchni wyjściowych podczas aktywnej sesji przechwytywania i trwającego przesyłania strumieniowego z kamery. Nowe wyjście może być mapowane na konkretny, wybrany przez użytkownika strumień kamery współdzielonej. Dodaną platformę możesz w każdej chwili usunąć.

Ogólnie chodzi o udostępnianie buforów powiązanych z określonym strumieniem z kamery na kilku powierzchniach wyjściowych. Wewnętrzny licznik odwołań śledzi bufory, gdy są gotowe do dalszego przetwarzania po stronie klienta. Gdy wszyscy odbiorcy wykonają swoje zadania, bufor zostanie usunięty z kolejki i będzie dostępny dla kamery.

Udostępnianie bufora

Rysunek 1. Udostępnianie bufora

Ilustracja 1 przedstawia przykładowy scenariusz, w którym bufory przetwarzane przez strumień 2 kamery są dynamicznie dołączane i odłączane, zliczane i zarządzane przez komponent rozdzielacza strumieni w ramach dedykowanego udostępnionego strumienia wyjściowego w usłudze aparatu.

Przykłady i źródło

Główną implementację tej funkcji znajdziesz w module Camera3StreamSplitter. Dokumentację tej funkcji znajdziesz w informacjach dla deweloperów:

Implementacja

Po stronie HAL aparatu nie jest wymagana żadna implementacja, ponieważ ta funkcja jest implementowana po stronie platformy.

Weryfikacja

Implementacja musi przejść testy CTS, które obejmują tę funkcję w modułach MultiViewTestnatywnej biblioteki JNI dla natywnego interfejsu API.