Zależność od dostawcy SoC w przypadku menedżera zasobów multimedialnych

Ten dokument ma pomóc dostawcom systemów na chipie (SoC) w prawidłowym wdrażaniu obsługi priorytetów, szybkości działania i elementów potrzebnych do obsługi menedżera zasobów multimedialnych Androida.

OMX_ErrorInsufficientResources

Komponent kodeka powinien zwracać OMX_ErrorInsufficientResources w przypadku GetHandle, Init, UseBuffer, AllocateBuffer lub przejścia stanu, jeśli błąd jest spowodowany niewystarczającymi zasobami. Kod błędu będzie używany przez menedżera zasobów multimedialnych jako wskaźnik, który może zablokować zasób multimedialny przed innymi procesami o niższym priorytecie.

Test Compatibility Test Suite (CTS) służy do przydzielania, konfigurowania i uruchamiania poszczególnych kodeków wielokrotnie, aż do catching OMX_ErrorInsufficientResources (zaliczenie) lub wystąpienia innego błędu (niezaliczenie).

OMX_IndexConfigPriority

Ta konfiguracja umożliwia aplikacji określenie pożądanego priorytetu kodeka.

Powiązana wartość jest liczbą całkowitą. Im wyższa wartość, tym niższy priorytet. Obecnie obsługiwane są tylko 2 poziomy:

  • 0: priorytet w czasie rzeczywistym – oznacza, że kodek obsługuje daną konfigurację wydajności (np. liczbę klatek na sekundę) w czasie rzeczywistym. Będzie ona używana tylko do odtwarzania multimediów, przechwytywania i być może do komunikacji w czasie rzeczywistym, jeśli wydajność przy maksymalnym wysiłku nie jest odpowiednia.
  • 1: priorytet niewymagający obsługi w czasie rzeczywistym (możliwie najlepsza obsługa). jest to wartość domyślna

Dostawca powinien użyć tego jako wskazówki podczas konfigurowania kodeka i planowania zasobów – aby poznać wymagania aplikacji w czasie rzeczywistym.

Nie zakładaj priorytetu w czasie rzeczywistym, chyba że jest on ustawiony na 0.

OMX_IndexConfigOperatingRate

Ta konfiguracja umożliwia aplikacji określenie częstotliwości klatek wideo lub częstotliwości próbkowania dźwięku, z jaką ma działać kodek.

Jest to przydatne w przypadku nagrywania filmów w wysokiej lub niskiej prędkości, gdy format kodera wideo zawiera docelową szybkość odtwarzania (np. 30 fps), ale komponent musi być w stanie obsłużyć wysoką szybkość nagrywania (np. 240 fps).

Należy jej używać do planowania zasobów i ustalania punktów operacyjnych.