Dokumen ini ditujukan untuk membantu vendor sistem di chip (SoC) menerapkan dukungan untuk prioritas, kecepatan operasi, dan hook yang diperlukan untuk pengelola resource media Android dengan benar.
OMX_ErrorInsufficientResources
Komponen codec harus menampilkan
OMX_ErrorInsufficientResources
di GetHandle
,
Init
, UseBuffer
, AllocateBuffer
, atau
transisi status jika kegagalan disebabkan oleh resource yang tidak memadai. Kode error
akan digunakan oleh pengelola resource media sebagai indikator untuk berpotensi
mengganti resource media dari proses prioritas lebih rendah lainnya.
Pengujian Android Compatibility Test Suite (CTS) ada untuk mengalokasikan, mengonfigurasi,
dan memulai setiap codec berulang kali hingga catching
OMX_ErrorInsufficientResources
(lulus) atau error lainnya (gagal).
OMX_IndexConfigPriority
Konfigurasi ini memungkinkan aplikasi mendeskripsikan 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 real-time - yang berarti codec akan mendukung konfigurasi performa tertentu (misalnya kecepatan frame) secara real-time. Hal ini hanya akan digunakan oleh pemutaran media, perekaman, dan mungkin oleh skenario komunikasi real-time jika performa upaya terbaik tidak sesuai.
- 1: prioritas non-real-time (upaya terbaik). Nilai ini merupakan default.
Vendor disarankan untuk menggunakan ini sebagai petunjuk yang digunakan pada konfigurasi codec dan perencanaan resource - untuk memahami persyaratan realtime aplikasi.
Jangan mengasumsikan prioritas realtime kecuali jika dikonfigurasi ke 0.
OMX_IndexConfigOperatingRate
Konfigurasi ini memungkinkan aplikasi menjelaskan kecepatan frame operasi untuk video atau frekuensi sampel untuk audio tempat codec harus beroperasi.
Ini digunakan untuk kasus seperti perekaman video berkecepatan tinggi/gerakan lambat, dengan format encoder video yang berisi kecepatan pemutaran target (misalnya 30 fps), tetapi komponen harus dapat menangani kecepatan pengambilan operasi yang tinggi (misalnya 240 fps).
Rasio ini harus digunakan untuk perencanaan resource dan menetapkan titik operasi.