媒體資源管理器的 SoC 供應商依賴性

本文檔旨在協助系統單晶片供應商 (SoC) 正確實現對 Android 媒體資源管理器所需的優先順序、運作速率和掛鉤的支援。

OMX_Error資源不足

如果因資源不足而失敗,編解碼器元件應在GetHandleInitUseBufferAllocateBuffer或狀態轉換上傳回OMX_ErrorInsufficientResources 。媒體資源管理器將使用錯誤代碼作為潛在地從其他較低優先權進程搶佔媒體資源的指示符。

Android 相容性測試套件 (CTS) 測試用於重複分配、配置和啟動每個編解碼器,直到catching OMX_ErrorInsufficientResources (通過)或任何其他錯誤(失敗)。

OMX_IndexConfigPriority

此配置允許應用程式描述所需的編解碼器優先權。

關聯值是一個整數。數值越高意味著優先順序越低。目前僅支援兩個等級:

  • 0:即時優先權 - 意味著編解碼器應即時支援給定的效能配置(例如幀速率)。如果盡力而為效能不合適,這將僅用於媒體播放、捕獲,也可能用於即時通訊場景。
  • 1:非即時優先權(盡力而為)。這是預設值。

建議供應商將此用作編解碼器配置和資源規劃的提示 - 以了解應用程式的即時要求。

除非配置為 0,否則不要採用即時優先權。

OMX_IndexConfigOperatingRate

此配置允許應用程式描述編解碼器運行所需的視訊操作幀率或音訊取樣率。

這用於高速/慢動作視訊擷取等情況,其中視訊編碼器格式包含目標播放速率(例如30fps),但組件必須能夠處理高操作捕獲速率(例如240fps)。

此速率應用於資源規劃和設定操作點。