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.