이 문서는 SoC(단일 칩 시스템) 공급업체에서 Android 미디어 리소스 관리자에 필요한 우선순위, 가동률 및 후크 지원을 올바르게 구현할 수 있도록 돕는 데 목적이 있습니다.
1. OMX_ErrorInsufficientResources
코덱 구성요소는 리소스 부족으로 인해 실패가 발생할 경우 GetHandle
, Init
, UseBuffer
, AllocateBuffer
또는 상태 전환에 따라 OMX_ErrorInsufficientResources
를 반환합니다. 미디어 리소스 관리자는 우선순위가 더 낮은 다른 프로세스로부터 미디어 리소스를 선점하기 위한 표시기로 오류 코드를 사용합니다.
Android 호환성 테스트 모음(CTS) 테스트는 catching
OMX_ErrorInsufficientResources
(통과) 또는 기타 오류(실패)가 발생할 때까지 각 코덱을 반복적으로 할당, 구성, 시작하기 위한 테스트입니다.
2. OMX_IndexConfigPriority
이 구성을 사용하면 애플리케이션에서 원하는 코덱 우선순위를 설명할 수 있습니다.
연결된 값은 정수입니다. 값이 높을수록 우선순위가 낮습니다. 현재 두 가지 수준만 지원됩니다.
- 0: 실시간 우선순위. 코덱이 주어진 성능 구성(예: 프레임 속도)을 실시간으로 지원해야 함을 의미합니다. 이 수준은 최선의 성능이 적절하지 않은 경우 미디어 재생, 캡처 및 실시간 통신 시나리오에서만 사용합니다.
- 1: 비실시간 우선순위(최선 노력). 기본값입니다.
공급업체는 이를 코덱 구성 및 리소스 계획에 사용되는 힌트로 활용하여 애플리케이션의 실시간 요구사항을 이해하는 것이 좋습니다.
0으로 구성하지 않은 이상 실시간 우선순위를 가정하면 안 됩니다.
3. OMX_IndexConfigOperatingRate
이 구성은 애플리케이션에서 코덱이 작동해야 하는 동영상의 작동 프레임 속도 또는 오디오의 샘플링 레이트를 설명합니다.
OMX_IndexConfigOperatingRate는 동영상 인코더 형식에 대상 재생 속도(예: 30fps)가 포함된 고속/슬로 모션 동영상 캡처와 같은 경우에 사용되지만, 구성요소는 고속으로 작동하는 캡처(예: 240fps)를 처리할 수 있어야 합니다.
이 속도는 리소스 계획 및 작동 포인트에 사용해야 합니다.