תלות ספקי SoC עבור מנהל משאבי מדיה

מסמך זה נועד לסייע לספקי מערכת על שבבים (SoCs) ליישם כראוי תמיכה בעדיפות, קצב הפעלה והווים הדרושים למנהל משאבי המדיה של אנדרואיד.

OMX_ErrorInsufficientResources

רכיב ה-codec צריך להחזיר OMX_ErrorInsufficientResources ב- GetHandle , Init , UseBuffer , AllocateBuffer או מעבר מצב אם הכשל נובע מחוסר משאב. קוד השגיאה ישמש את מנהל משאבי המדיה כמחוון כדי למנוע משאב מדיה מתהליך אחר בעדיפות נמוכה יותר.

קיימת בדיקת Android Compatibility Test Suite (CTS) כדי להקצות, להגדיר ולהפעיל כל codec שוב ושוב עד catching OMX_ErrorInsufficientResources (עובר) או כל שגיאה אחרת (נכשל).

OMX_IndexConfigPriority

תצורה זו מאפשרת לאפליקציה לתאר את עדיפות ה-codec הרצויה.

הערך המשויך הוא מספר שלם. ערך גבוה יותר פירושו עדיפות נמוכה יותר. נכון לעכשיו, רק שתי רמות נתמכות:

  • 0: עדיפות בזמן אמת - כלומר, ה-codec יתמוך בתצורת הביצועים הנתונה (למשל קצב מסגרות) בזמן אמת. זה ישמש רק על ידי השמעת מדיה, לכידה ואולי על ידי תרחישי תקשורת בזמן אמת אם ביצועי המאמץ הטובים ביותר אינם מתאימים.
  • 1: עדיפות לא בזמן אמת (מיטב המאמץ). זהו ערך ברירת המחדל.

הספק מוצע להשתמש בזה כרמז המשמש בתצורת codec ותכנון משאבים - כדי להבין את דרישות האפליקציה בזמן אמת.

אל תניח עדיפות בזמן אמת אלא אם כן היא מוגדרת ל-0.

OMX_IndexConfigOperatingRate

תצורה זו מאפשרת לאפליקציה לתאר קצב פריימים הפעלה עבור וידאו או קצב דגימה עבור אודיו שבו ה-codec יצטרך לפעול.

זה משמש למקרים כמו לכידת וידאו במהירות גבוהה / בהילוך איטי, כאשר פורמט מקודד הווידאו מכיל את קצב ההשמעה היעד (למשל 30fps), אך הרכיב חייב להיות מסוגל להתמודד עם קצב הלכידת ההפעלה הגבוה (למשל 240fps).

יש להשתמש בשיעור זה לתכנון משאבים ולקביעת נקודות הפעולה.