Ketergantungan vendor SoC untuk manajer sumber daya media

Dokumen ini dimaksudkan untuk membantu vendor sistem pada chip (SoC) menerapkan dukungan dengan benar untuk prioritas, kecepatan operasi, dan kait yang diperlukan untuk pengelola sumber daya media Android.

OMX_ErrorSumber Daya Tidak Memadai

Komponen codec harus mengembalikan OMX_ErrorInsufficientResources pada GetHandle , Init , UseBuffer , AllocateBuffer atau transisi keadaan jika kegagalan disebabkan oleh sumber daya yang tidak mencukupi. Kode kesalahan akan digunakan oleh pengelola sumber daya media sebagai indikator yang berpotensi mendahului sumber daya media dari proses lain yang berprioritas lebih rendah.

Pengujian Android Compatibility Test Suite (CTS) ada untuk mengalokasikan, mengonfigurasi, dan memulai setiap codec berulang kali hingga catching OMX_ErrorInsufficientResources (lulus) atau kesalahan lainnya (gagal).

OMX_IndexConfigPriority

Konfigurasi ini memungkinkan aplikasi menjelaskan prioritas codec yang diinginkan.

Nilai terkait adalah bilangan bulat. Nilai yang lebih tinggi berarti prioritas yang lebih rendah. Saat ini, hanya dua level yang didukung:

  • 0: prioritas waktu nyata - artinya codec harus mendukung konfigurasi kinerja tertentu (misalnya kecepatan bingkai) secara waktu nyata. Ini hanya akan digunakan oleh pemutaran media, pengambilan, dan mungkin dengan skenario komunikasi waktu nyata jika kinerja upaya terbaik tidak sesuai.
  • 1: prioritas non-waktu nyata (usaha terbaik). Ini adalah nilai default.

Vendor disarankan untuk menggunakan ini sebagai petunjuk yang digunakan pada konfigurasi codec dan perencanaan sumber daya - untuk memahami persyaratan aplikasi secara realtime.

Jangan menganggap prioritas waktu nyata kecuali dikonfigurasi ke 0.

OMX_IndexConfigOperatingRate

Konfigurasi ini memungkinkan aplikasi menjelaskan kecepatan frame pengoperasian untuk video atau kecepatan sampel untuk audio yang memerlukan pengoperasian codec.

Ini digunakan untuk kasus seperti pengambilan video kecepatan tinggi/gerakan lambat, di mana format encoder video berisi kecepatan pemutaran target (misalnya 30fps), namun komponen harus mampu menangani kecepatan pengambilan pengoperasian yang tinggi (misalnya 240fps).

Tarif ini harus digunakan untuk perencanaan sumber daya dan penetapan titik operasi.