تبعيات بائع SoC لمدير موارد الوسائط

يهدف هذا المستند إلى مساعدة النظام على موردي الرقائق (SoCs) على تنفيذ الدعم بشكل صحيح للأولوية ومعدل التشغيل والخطافات اللازمة لمدير موارد وسائط Android.

OMX_ErrorInكافيةالموارد

يجب أن يقوم مكون برنامج الترميز بإرجاع OMX_ErrorInsufficientResources على GetHandle أو Init أو UseBuffer أو AllocateBuffer أو انتقال الحالة إذا كان الفشل بسبب عدم كفاية الموارد. سيتم استخدام رمز الخطأ بواسطة مدير موارد الوسائط كمؤشر لاستباق مورد الوسائط المحتمل من عملية أخرى ذات أولوية أقل.

يوجد اختبار Android Compatibility Test Suite (CTS) لتخصيص كل برنامج ترميز وتكوينه وبدء تشغيله بشكل متكرر حتى catching OMX_ErrorInsufficientResources (تمرير) أو أي خطأ آخر (فشل).

OMX_IndexConfigPriority

يتيح هذا التكوين للتطبيق وصف أولوية برنامج الترميز المطلوب.

القيمة المرتبطة هي عدد صحيح. القيمة الأعلى تعني أولوية أقل. حاليًا، يتم دعم مستويين فقط:

  • 0: أولوية الوقت الفعلي - مما يعني أن برنامج الترميز يجب أن يدعم تكوين الأداء المحدد (مثل معدل الإطارات) في الوقت الفعلي. سيتم استخدام هذا فقط من خلال تشغيل الوسائط والتقاطها وربما من خلال سيناريوهات الاتصال في الوقت الفعلي إذا لم يكن أداء أفضل جهد مناسبًا.
  • 1: الأولوية غير الحقيقية (أفضل جهد). هذه هي القيمة الافتراضية.

يُقترح على البائع استخدام هذا كتلميح يستخدم في تكوين برنامج الترميز وتخطيط الموارد - لفهم متطلبات الوقت الفعلي للتطبيق.

لا تفترض أولوية الوقت الفعلي ما لم يتم تكوينها على 0.

OMX_IndexConfigOperatingRate

يتيح هذا التكوين للتطبيق وصف معدل إطار التشغيل للفيديو أو معدل العينة للصوت الذي سيحتاج برنامج الترميز إلى العمل به.

يُستخدم هذا في حالات مثل التقاط الفيديو عالي السرعة/الحركة البطيئة، حيث يحتوي تنسيق برنامج تشفير الفيديو على معدل التشغيل المستهدف (على سبيل المثال 30 إطارًا في الثانية)، ولكن يجب أن يكون المكون قادرًا على التعامل مع معدل الالتقاط التشغيلي العالي (على سبيل المثال 240 إطارًا في الثانية).

وينبغي استخدام هذا المعدل لتخطيط الموارد وتحديد نقاط التشغيل.