このドキュメントは、システム オン チップ(SoC)ベンダーが Android メディア リソース マネージャーに必要な優先度、稼働率、フックのサポートを適切に実装できるようにすることを目的としています。
OMX_ErrorInsufficientResources
コーデック コンポーネントは、GetHandle
、Init
、UseBuffer
、AllocateBuffer
で OMX_ErrorInsufficientResources
を返すようにします。リソース不足のために失敗した場合は、遷移状態を返すようにします。エラーコードは、メディア リソースを他の低優先度プロセスからプリエンプトするためのインジケーターとして、メディア リソース マネージャーによって使用されます。
Android 互換性テストスイート(Android Compatibility Test Suite、CTS)では、各コーデックの割り当て、設定、開始を、catching
OMX_ErrorInsufficientResources
(合格)またはその他のエラー(失敗)になるまで繰り返しテストします。
OMX_IndexConfigPriority
この設定では、アプリで目的のコーデック優先度を記述できます。
関連する値は整数です。値が大きいほど優先度が低くなります。 現在、サポートされているレベルは次の 2 つだけです。
- 0: リアルタイムの優先度。コーデックがリアルタイムで指定されたパフォーマンス設定(フレームレートなど)をサポートすることを意味します。メディアの再生とキャプチャでのみで使用されるほか、ベスト エフォート型のパフォーマンスが適切でない場合は、リアルタイム コミュニケーションのシナリオで使用される場合もあります。
- 1: 非リアルタイムの優先度(ベスト エフォート)。これがデフォルト値です。
アプリのリアルタイム要件を理解するために、ベンダーはコーデックの設定やリソースの計画におけるヒントとしてこれを使用するようにします。
0 に設定されていない場合は、リアルタイムの優先度は想定しないでください。
OMX_IndexConfigOperatingRate
この設定により、アプリは稼働中の動画のフレームレートまたは音声のサンプルレートを、コーデックが処理する必要のあるレートで描写できます。
ビデオ エンコーダのフォーマットが目標再生レート(30 fps など)を含む高速または低速のビデオ キャプチャなどの場合に使用されますが、コンポーネントが高いキャプチャ レート(240 fps など)を処理できる必要があります。
このレートは、リソースの計画や動作点の設定に使用します。