AudioHardwareInterface serves as the glue between proprietary audio drivers and the Android AudioFlinger service, the core audio service that handles all audio-related requests from applications.
Solid elements represent Android blocks and dashed elements represent partner-specific blocks.Building an Audio Library
To implement an audio driver, create a shared library that implements the interface defined in AudioHardwareInterface.h
. You must name your shared library libaudio.so
so that it will get loaded from /system/lib
at runtime. Place libaudio sources and Android.mk
in vendor/acme/chipset_or_board/libaudio/
.
The following stub Android.mk
file ensures that libaudio
compiles and links to the appropriate libraries:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := libaudio LOCAL_SHARED_LIBRARIES := \ libcutils \ libutils \ libmedia \ libhardware LOCAL_SRC_FILES += MyAudioHardware.cpp LOCAL_CFLAGS += LOCAL_C_INCLUDES += LOCAL_STATIC_LIBRARIES += libaudiointerface include $(BUILD_SHARED_LIBRARY)
Interface
Note: This document relies on some Doxygen-generated content that appears in an iFrame below. To return to the Doxygen default content for this page, click here.