การพึ่งพาผู้จำหน่าย SoC สำหรับตัวจัดการทรัพยากรสื่อ

เอกสารนี้มีจุดมุ่งหมายเพื่อช่วยให้ระบบบนผู้จำหน่ายชิป (SoC) ใช้การสนับสนุนสำหรับลำดับความสำคัญ อัตราการทำงาน และ hooks ที่จำเป็นสำหรับตัวจัดการทรัพยากรสื่อ Android ได้อย่างถูกต้อง

OMX_ErrorInsufficientResources

คอมโพเนนต์ตัวแปลงสัญญาณควรส่งคืน OMX_ErrorInsufficientResources บน GetHandle , Init , UseBuffer , AllocateBuffer หรือการเปลี่ยนสถานะหากความล้มเหลวเกิดจากทรัพยากรไม่เพียงพอ รหัสข้อผิดพลาดจะถูกใช้โดยผู้จัดการทรัพยากรสื่อเป็นตัวบ่งชี้ในการยึดทรัพยากรสื่อจากกระบวนการที่มีลำดับความสำคัญต่ำกว่าอื่น ๆ

มีการทดสอบชุดทดสอบความเข้ากันได้ของ Android (CTS) เพื่อจัดสรร กำหนดค่า และเริ่มแต่ละตัวแปลงสัญญาณซ้ำๆ จนกว่า catching OMX_ErrorInsufficientResources (ผ่าน) หรือข้อผิดพลาดอื่น ๆ (ล้มเหลว)

OMX_IndexConfigลำดับความสำคัญ

การกำหนดค่านี้ช่วยให้แอปพลิเคชันอธิบายลำดับความสำคัญของตัวแปลงสัญญาณที่ต้องการได้

ค่าที่เกี่ยวข้องเป็นจำนวนเต็ม ค่าที่สูงกว่าหมายถึงลำดับความสำคัญที่ต่ำกว่า ปัจจุบันรองรับเพียงสองระดับเท่านั้น:

  • 0: ลำดับความสำคัญแบบเรียลไทม์ - หมายความว่าตัวแปลงสัญญาณจะต้องสนับสนุนการกำหนดค่าประสิทธิภาพที่กำหนด (เช่น อัตราเฟรม) แบบเรียลไทม์ สิ่งนี้จะถูกใช้โดยการเล่นสื่อ การจับภาพ และอาจใช้กับสถานการณ์การสื่อสารแบบเรียลไทม์เท่านั้น หากประสิทธิภาพของความพยายามอย่างดีที่สุดไม่เหมาะสม
  • 1: ลำดับความสำคัญที่ไม่ใช่เรียลไทม์ (ความพยายามอย่างดีที่สุด) นี่คือค่าเริ่มต้น

ผู้จำหน่ายแนะนำให้ใช้สิ่งนี้เป็นคำแนะนำที่ใช้ในการกำหนดค่าตัวแปลงสัญญาณและการวางแผนทรัพยากร - เพื่อทำความเข้าใจข้อกำหนดแบบเรียลไทม์ของแอปพลิเคชัน

อย่าถือว่ามีลำดับความสำคัญแบบเรียลไทม์ เว้นแต่จะมีการกำหนดค่าเป็น 0

OMX_IndexConfigอัตราการดำเนินงาน

การกำหนดค่านี้ช่วยให้แอปพลิเคชันอธิบายอัตราเฟรมการทำงานของวิดีโอหรืออัตราตัวอย่างสำหรับเสียงที่ตัวแปลงสัญญาณจะต้องทำงาน

ใช้สำหรับกรณีต่างๆ เช่น การจับภาพวิดีโอความเร็วสูง/สโลว์โมชั่น โดยที่รูปแบบตัวเข้ารหัสวิดีโอมีอัตราการเล่นเป้าหมาย (เช่น 30fps) แต่ส่วนประกอบจะต้องสามารถรองรับอัตราการจับภาพการทำงานที่สูงได้ (เช่น 240fps)

อัตรานี้ควรใช้ในการวางแผนทรัพยากรและการกำหนดจุดปฏิบัติการ