SoC-Anbieterabhängigkeiten für den Media Resource Manager

Dieses Dokument soll System-on-Chip-Anbietern (SoCs) dabei helfen, die Unterstützung für Priorität, Betriebsrate und die für den Android Media Resource Manager erforderlichen Hooks ordnungsgemäß zu implementieren.

OMX_ErrorInsufficientResources

Die Codec-Komponente sollte OMX_ErrorInsufficientResources bei GetHandle , Init , UseBuffer , AllocateBuffer oder einem Zustandsübergang zurückgeben, wenn der Fehler auf unzureichende Ressourcen zurückzuführen ist. Der Fehlercode wird vom Medienressourcenmanager als Indikator verwendet, um die Medienressource möglicherweise von anderen Prozessen mit niedrigerer Priorität auszuschließen.

Es gibt einen CTS-Test (Android Compatibility Test Suite), um jeden Codec wiederholt zuzuweisen, zu konfigurieren und zu starten, bis catching OMX_ErrorInsufficientResources .

OMX_IndexConfigPriority

Mit dieser Konfiguration kann die Anwendung die gewünschte Codec-Priorität beschreiben.

Der zugehörige Wert ist eine Ganzzahl. Ein höherer Wert bedeutet eine niedrigere Priorität. Derzeit werden nur zwei Ebenen unterstützt:

  • 0: Echtzeitpriorität – das bedeutet, dass der Codec die gegebene Leistungskonfiguration (z. B. Framerate) in Echtzeit unterstützen soll. Dies wird nur bei der Medienwiedergabe, -erfassung und möglicherweise bei Echtzeit-Kommunikationsszenarien verwendet, wenn die Best-Effort-Leistung nicht geeignet ist.
  • 1: Nicht-Echtzeit-Priorität (Best Effort). Dies ist der Standardwert.

Dem Anbieter wird empfohlen, dies als Hinweis für die Codec-Konfiguration und Ressourcenplanung zu verwenden, um die Echtzeitanforderungen der Anwendung zu verstehen.

Nehmen Sie keine Echtzeitpriorität an, es sei denn, sie ist auf 0 konfiguriert.

OMX_IndexConfigOperatingRate

Mit dieser Konfiguration kann die Anwendung die Betriebsbildrate für Video oder die Abtastrate für Audio beschreiben, mit der der Codec arbeiten muss.

Dies wird für Fälle wie die Hochgeschwindigkeits-/Zeitlupen-Videoaufnahme verwendet, bei der das Video-Encoder-Format die Zielwiedergaberate (z. B. 30 Bilder pro Sekunde) enthält, die Komponente jedoch in der Lage sein muss, die hohe Betriebsaufnahmerate (z. B. 240 Bilder pro Sekunde) zu verarbeiten.

Dieser Tarif sollte zur Ressourcenplanung und Festlegung der Betriebspunkte herangezogen werden.