android音频hal接口测试,Android音频框架笔记

提醒一下,纯个人笔记,你完全可能看晕六、HAL层6-1、Audio HAL层,其实包括了audio.xxx.so 和 audiopolicy.so等。从前述的总框架图,也有写,代码库路径也有写。具体运行时so对象图,对于audio.xxx.so部分,参考“Android系统Audio框架介绍”最后一张图。如下:Paste_Image.png6-2、对audio.primary.so库,对于Audi...
摘要由CSDN通过智能技术生成

提醒一下,纯个人笔记,你完全可能看晕

六、HAL层

6-1、Audio HAL层,其实包括了audio.xxx.so 和 audiopolicy.so等。从前述的总框架图,也有写,代码库路径也有写。

具体运行时so对象图,对于audio.xxx.so部分,参考“Android系统Audio框架介绍”最后一张图。如下:

174670705_2_20191102022751861

Paste_Image.png

6-2、对audio.primary.so库,对于Audio HAL框架的实现分析

Audio HAL层架构定义: hardware\libhardware\include\hardware\audio.h

厂商实现:以Anroid4.1.1版为例,audio.primary.grouper.so库为例, 代码位置device\asus\grouper\audio\audio_hw.c

//Audio HAL层架构中audio_module 的定义,继承hw_module_t,其实没有任何扩展

struct audio_module {

struct hw_module_t common;

};

// 厂商audio_module 的实现,关键是open函数赋值,其作用是打开该设备,返回audio_hw_device 结构体对象,但在这份实现中,返回是audio_device对象,即audio_hw_device子类

struct audio_module HAL_MODULE_INFO_SYM = {

.common = {

.tag = HARDWARE_MODULE_TAG,

.module_api_version = AUDIO_MODULE_API_VERSION_0_1,

.hal_api_version = HARDWARE_HAL_API_VERSION,

.id = AUDIO_HARDWARE_MODULE_ID,

.name = "Grouper audio HW HAL",

.author = "The Android Open Source Project",

.methods

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值