Android 14 और इसके बाद के वर्शन में ऑडियो HAL इंटरफ़ेस स्टेबल एआईडीएल का इस्तेमाल करके परिभाषित किया गया है. पार्टनर और SoC वेंडर को ऑडियो एचएएल को फिर से लागू करने के लिए बढ़ावा दिया गया है, ताकि एआईडीएल इंटरफ़ेस.
libaudiohal
लाइब्रेरी को बढ़ाने पर, एआईडीएल एचएएल के लिए फ़्रेमवर्क सपोर्ट मिल जाता है.
एआईडीएल लागू करने से, ऑडियो नीति के कॉन्फ़िगरेशन से जुड़ी खास बातें यह होंगी
एआईडीएल एचएएल में चले गए. इस बदलाव के साथ ही, ऑडियो पॉलिसी मैनेजर (एपीएम)
HAL से कॉन्फ़िगर किया गया है, न कि उसे वेंडर के दिए गए एक्सएमएल से लिया गया है
फ़ाइल से लिए जाते हैं.
ऑडियो एआईडीएल एचएएल एपीआई
इस सेक्शन में एआईडीएल के लिए कोर, इफ़ेक्ट, और कॉमन एचएएल एपीआई के बारे में बताया गया है.
यहां पर एआईडीएल एपीआई को डिफ़ॉल्ट रूप से लागू करें
/hardware/interfaces/audio/aidl/default/
जब ऑडियो एचएएल के ऐसे नए वर्शन लागू करते हैं, जो
कर्नेल ड्राइवर के साथ इंटरैक्ट करते हैं.
ज़्यादा जानकारी के लिए, ऑडियो HAL README फ़ाइल हालाँकि, ऑडियो एचएएल डायरेक्ट्री के फ़ॉर्मैट में बदलाव किया जा सकता है.
कोर एचएएल
कोर एचएएल के कुछ मुख्य इंटरफ़ेस, ये हैं:
IModule.aidl
, एपीआई का एंट्री पॉइंट है.- स्ट्रीम एकतरफ़ा होती हैं. इसका इस्तेमाल AudioFlinger, लोगों को भेजने या पाने के लिए करता है
IStreamOut.aidl
औरIStreamIn.aidl
तक HAL तक और उससे ऑडियो. ITelephony.aidl
में, टेलीफ़ोन की सुविधाओं के लिए कंट्रोल मिलते हैं.IBluetooth.aidl
,IPrimaryModule
पर मौजूद BT SCO और एचएफ़पी के कंट्रोल उपलब्ध कराता है HIDL API में जाएगा.IConfig.aidl
पूरे सिस्टम के कॉन्फ़िगरेशन पैरामीटर उपलब्ध कराता है.ISoundDose.aidl
आवाज़ के डोज़ की सुविधा देता है. ज़्यादा जानकारी के लिए, आवाज़ की खुराक देखें.- अभी चल रहे Core HAL API का सबसे नया वर्शन अब
/hardware/interfaces/audio/aidl/android/hardware/audio/core/
पर उपलब्ध है. - Core HAL API का रिलीज़ किया गया सबसे नया वर्शन,
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/
में उपलब्ध है.
इफ़ेक्ट एचएएल
एआईडीएल का इस्तेमाल करने वाले इफ़ेक्ट एचएएल के कुछ मुख्य इंटरफ़ेस यहां दिए गए हैं:
IFactory.aidl
, एपीआई का एंट्री पॉइंट है.Descriptor.aidl
में सभी जानकारी मौजूद है. जैसे, सुविधाएं और एट्रिब्यूट का इस्तेमाल करें.Capability.aidl
इफ़ेक्ट की उन क्षमताओं के बारे में बताता है जो रनटाइम के दौरान नहीं बदलती.Parameter.aidl
, इफ़ेक्ट इंस्टेंस के साथ काम करने वाले सभी पैरामीटर के बारे में बताता है.IEffect.aidl
का इस्तेमाल, इफ़ेक्ट के खास इंस्टेंस को कॉन्फ़िगर और कंट्रोल करने के लिए किया जाता है.इफ़ेक्ट के नाम पर, खास तरह के पार्स किए जा सकने वाले पार्सल.
इफ़ेक्ट HAL API का नया वर्शन जिस पर काम किया जा रहा है वह
/hardware/interfaces/audio/aidl/android/hardware/audio/effect/
में उपलब्ध है.इफ़ेक्ट HAL API का सबसे नया रिलीज़ वर्शन
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.effect
.
ज़्यादा जानकारी के लिए ऑडियो इफ़ेक्ट देखें जानकारी.
कॉमन एचएएल
अलग-अलग एचएएल के बीच शेयर किए गए डेटा स्ट्रक्चर और इंटरफ़ेस, जैसे कि BT HAL, कोर और इफ़ेक्ट ऑडियो एचएएल कॉमन एचएएल में होते हैं.
डेवलपमेंट में चल रहे कॉमन एआईडीएल एचएएल का सबसे नया वर्शन
/hardware/interfaces/audio/aidl/android/hardware/audio/common/
.कॉमन एचएएल एपीआई का रिलीज़ किया गया सबसे नया वर्शन
/hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.common/current/android/hardware/audio/common/
.
सामान्य स्थिर डेटा टाइप
स्थायी डेटा स्ट्रक्चर की परिभाषाओं का इस्तेमाल, एचएएल और फ़्रेमवर्क, दोनों में किया जाता है.
डेवलपमेंट में, स्टेबल डेटा टाइप का नया वर्शन
/system/hardware/interfaces/media/aidl/android/media/audio/common/
.स्टेबल डेटा टाइप का सबसे नया रिलीज़ किया गया वर्शन,
/system/hardware/interfaces/media/aidl_api/android.media.audio.common.types/
.
Audio AIDL HAL API की जांच करना
नए वीटीएस ये टेस्ट, एआईडीएल इंटरफ़ेस के लिए दिए जाते हैं.
नए एचएएल वर्शन में ऐसा कोई बदलाव नहीं किया गया है जिससे सुरक्षा पर असर पड़े.