وابستگی‌های فروشنده SoC برای مدیر منبع رسانه

هدف این سند کمک به فروشندگان سیستم روی تراشه (SoC) برای پیاده‌سازی صحیح پشتیبانی از اولویت، نرخ عملکرد، و قلاب‌های موردنیاز برای مدیر منابع رسانه‌ای Android است.

OMX_ErrorInsufficientResources

اگر خرابی به‌دلیل منابع ناکافی باشد، مؤلفه کدک باید OMX_ErrorInsufficientResources را در GetHandle، Init، UseBuffer، AllocateBuffer یا گذار حالت برگرداند. کد خطا توسط مدیر منبع رسانه به‌عنوان نشانگر برای احتمالاً پیش‌دستی کردن منبع رسانه از دیگر فرایندهای با اولویت پایین‌تر استفاده خواهد شد.

یک آزمایش «مجموعه آزمایش سازگاری Android» (CTS) برای اختصاص دادن، پیکربندی کردن، و شروع کردن مکرر هر کدک تا رسیدن به catching OMX_ErrorInsufficientResources (موفقیت) یا هر خطای دیگری (شکست) وجود دارد.

OMX_IndexConfigPriority

این پیکربندی به برنامه امکان می‌دهد اولویت کدک موردنظر را شرح دهد.

مقدار مرتبط عدد صحیح است. مقدار بالاتر یعنی اولویت پایین‌تر. درحال‌حاضر، فقط دو سطح پشتیبانی می‌شود:

  • ‫۰: اولویت هم‌زمان - یعنی کدک باید از پیکربندی عملکرد داده‌شده (مثلاً نرخ فریم) در زمان واقعی پشتیبانی کند. این فقط توسط بازپخش رسانه، ضبط، و احتمالاً توسط سناریوهای ارتباطات هم‌زمان درصورتی‌که عملکرد با بهترین تلاش مناسب نباشد استفاده خواهد شد.
  • ‫۱: اولویت غیرهم‌زمان (تلاش حداکثری). این مقدار پیش‌فرض است.

به فروشنده پیشنهاد می‌شود از این به‌عنوان اشاره‌ای که در پیکربندی کدک و برنامه‌ریزی منابع استفاده می‌شود استفاده کند تا الزامات هم‌زمان برنامه را درک کند.

اولویت زمان واقعی را فرض نکنید، مگر اینکه روی ۰ پیکربندی شده باشد.

OMX_IndexConfigOperatingRate

این پیکربندی به برنامه اجازه می‌دهد نرخ فریم عملیاتی برای ویدیو یا نرخ نمونه برای صدا را که کدک باید در آن کار کند شرح دهد.

این مورد برای مواردی مانند ضبط ویدیو با سرعت بالا/آهسته استفاده می‌شود، جایی که قالب کدبند ویدیو حاوی نرخ بازپخش هدف (مثلاً ۳۰ فریم در ثانیه) است، اما مؤلفه باید بتواند نرخ ضبط عملیاتی بالا (مثلاً ۲۴۰ فریم در ثانیه) را مدیریت کند.

این نرخ باید برای برنامه‌ریزی منابع و تنظیم نقاط عملیاتی استفاده شود.