Dependency ของผู้ให้บริการ SoC สําหรับเครื่องมือจัดการทรัพยากรสื่อ

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

OMX_ErrorInsufficientResources

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

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

OMX_IndexConfigPriority

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

ค่าที่เชื่อมโยงจะเป็นจํานวนเต็ม ยิ่งค่าสูง ลำดับความสำคัญก็ยิ่งต่ำ ปัจจุบันรองรับเพียง 2 ระดับ ได้แก่

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

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

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

OMX_IndexConfigOperatingRate

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

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

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