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

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

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

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 dokumentacji 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ę z modułu MultiViewTestnatywnej biblioteki JNI dla natywnego interfejsu API.