AIDL เสียง HAL

ตั้งแต่ Android 14 เป็นต้นไป อินเทอร์เฟซ Audio HAL จะถูกกำหนดโดยใช้ Stable AIDL พันธมิตรและผู้จำหน่าย SoC ได้รับการสนับสนุนให้ปรับใช้ Audio HAL ของตนใหม่เพื่อให้มีอินเทอร์เฟซ AIDL

การขยายไลบรารี libaudiohal จะเพิ่มการรองรับเฟรมเวิร์กสำหรับ AIDL HAL เมื่อใช้ AIDL ข้อกำหนดการกำหนดค่านโยบายเสียงจะถูกย้ายไปยัง AIDL HAL ด้วยการเปลี่ยนแปลงนี้ Audio Policy Manager (APM) จะได้รับการกำหนดค่าจาก HAL แทนที่จะใช้จากไฟล์ XML ที่ผู้จำหน่ายจัดเตรียมไว้

เสียง AIDL HAL API

ส่วนนี้จะอธิบาย Core, Effects และ Common HAL API สำหรับ AIDL

ใช้การใช้งานเริ่มต้นของ AIDL API ที่ /hardware/interfaces/audio/aidl/default/ เป็นข้อมูลอ้างอิงเมื่อใช้ Audio HAL เวอร์ชันใหม่ที่มีการโต้ตอบกับไดรเวอร์เคอร์เนล

ดู ไฟล์ Audio HAL README สำหรับโครงสร้างไดเรกทอรี Audio HAL สำหรับ AIDL

คอร์ ฮาล

อินเทอร์เฟซหลักบางส่วนของ Core HAL โดยใช้ AIDL มีดังนี้:

เอฟเฟ็กต์ HAL

อินเทอร์เฟซหลักบางส่วนของ Effects HAL โดยใช้ AIDL มีดังนี้:

  • IFactory.aidl เป็นจุดเริ่มต้นเข้าสู่ API
  • Descriptor.aidl มีข้อมูลทั้งหมด เช่น ความสามารถและคุณลักษณะสำหรับการนำเอฟเฟกต์ไปใช้
  • Capability.aidl กำหนดความสามารถของเอฟเฟกต์ที่ไม่เปลี่ยนแปลงขณะรันไทม์
  • Parameter.aidl กำหนดพารามิเตอร์ทั้งหมดที่อินสแตนซ์เอฟเฟกต์รองรับ
  • IEffect.aidl ใช้เพื่อกำหนดค่าและควบคุมอินสแตนซ์เอฟเฟกต์เฉพาะ
  • พัสดุแยกเฉพาะเอฟเฟกต์ที่ตั้งชื่อตามเอฟเฟกต์

  • Effects HAL API เวอร์ชันล่าสุด ในการพัฒนา อยู่ใน /hardware/interfaces/audio/aidl/android/hardware/audio/effect/

  • Effects HAL API เวอร์ชัน ล่าสุดอยู่ใน /hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect

ดู เอฟเฟกต์เสียง สำหรับข้อมูลเพิ่มเติม

ทั่วไป HAL

โครงสร้างข้อมูลและอินเทอร์เฟซที่ใช้ร่วมกันระหว่าง HAL ต่างๆ เช่น BT HAL, core และเอฟเฟกต์ Audio HAL อยู่ใน Common HAL

ประเภทข้อมูลที่เสถียรทั่วไป

คำจำกัดความของโครงสร้างข้อมูลที่เสถียรนั้นใช้ทั้งโดย HAL และกรอบงาน

การทดสอบ Audio AIDL HAL API

มีการทดสอบ VTS ใหม่สำหรับอินเทอร์เฟซ AIDL

ไม่มีการเปลี่ยนแปลงในเวอร์ชัน HAL ใหม่ที่อาจส่งผลต่อความปลอดภัย