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.
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 MultiViewTest i natywnej biblioteki JNI dla natywnego interfejsu API.