- 博客(9)
- 资源 (12)
- 收藏
- 关注
原创 audiopilicy学习(android 11)
根据mOutputProfiles/mSupportedDevices和mOutputDevicesAll确定可用设备,并打开输出流。AudioPolicyClient(继承AudioPolicyClientInterface):为APM提供service调用接口。EngineInstance:Audio Policy Engine Interface,管理设备选择策略和音量配置等。通过createEngineInstance函数,创建Engine::Engine时调用。
2024-05-24 17:23:22
804
1
原创 android audio相关dumpsys信息
其中 Muted为是否静音,Min为最小值,Max为最大值Current为各输出设备的当前音量,Devices为当前输出设备。mSafeMediaVolumeState:安全音量开关状态,其中SAFE_MEDIA_VOLUME_DISABLED关闭对话框,SAFE_MEDIA_VOLUME_ACTIVE打开对话框。其中path为库路径,UUID为库的uuid。Chn mask:track数据通道,类型为audio_channel_mask_t。:显示thread的方向,地址,名字,tid,类型等。
2023-09-20 15:36:12
1735
1
原创 audio_route学习
audio_route.c 是 android 提供的一个 audio route的so 库, 其位于 /system/media/audio_route 目录下。libaudioroute.so 这个动态库的主要功能有一下几点:1.解析 /system/etc/mixer_paths.xml 配置文件2. 对audio 的ctl 访问方式进行封装,方便提供给hardware层的audio_hw 进行调用。
2023-09-20 15:13:52
566
1
原创 ALSA driver学习
注册之后的设备保存到static struct snd_minor *snd_minors[SNDRV_OS_MINORS],上层应用调用snd_open时,通过其进行索引并替换对应的ops函数。DECLARE_TLV_DB_LINEAR:第一个参数为名称,第二个参数为最小值,第三个参数为最大值,第四个参数为最小时是否mute。DECLARE_TLV_DB_SCALE:第一个参数为名称,第二个参数为最小值,第三个参数为步长,第四个参数为最小时是否mute。struct snd_pcm:pcm设备结构。
2023-09-01 10:46:33
348
1
原创 5.10.6 kernel sound code学习
由结构体snd_soc_dapm_widget描述。2.dapm_seq_check_event:遍历down_list/up_list链表,向其中的widget发出SND_SOC_DAPM_WILL_PMD/SND_SOC_DAPM_WILL_PMU事件,感兴趣该事件的widget的event回调会被调用。asoc_rtd_to_cpu/snd_soc_rtd_add_component:把snd_soc_card中的dai_link配置复制到相应的snd_soc_pcm_runtime中。
2023-09-01 10:37:10
650
1
原创 audio学习资料
Advanced Linux Sound Architecture (ALSA) projectdroidphone-AlSA子系统XRUN_Debugsepnic-ALSA PCM data flowALsa Control 从上层到驱动的详解[Audio]ALSA物理链路篇(上)[Audio]ALSA物理链路篇(下)[Audio]ALSA逻辑设备篇alsa专栏博客Linux音频驱动-OSS和ALSA声音系统简介及其比较
2023-08-31 19:39:52
93
原创 audio调试总结整理
avail:当前buffer中空闲空间大小(单位为:帧)[为pcm*c录音时,该值为可用数据大小] hw_ptr:alsa驱动读取指针位置 [为pcm*c录音时,该值为 alsa驱动写入指针位置] appl_ptr:alsa写入数据者的指针位置 [为pcm*c录音时,该值为alsa读取数据者的指针位置]stop_threshold:当播放过程中buffer空闲大小大于等于stop_threshold时alsa停止播放 boundary:虚拟的buffer大小(一个回卷的大小)
2023-08-31 19:36:28
355
转载 ARM(rk3036)平台编译Ne10开源库
目标:编译生成在RK3036(ARM)平台的Linux上可以运行NE10的库参考:$NE10PATH/doc/Building.md(我们这种应用属于CROSS-COMPILING)1. 下载projectne10源代码可以从Ne10的网站(http://projectne10.github.io/Ne10/)下载整个项目工程。项目文档在(http://projectn
2017-09-05 10:48:04
2276
1
转载 Mac下安装emacs+cscopse+auto-complete
转:http://blog.youkuaiyun.com/u010164190/article/details/608678031.下载cscope和auto-complete 地址:http://download.youkuaiyun.com/detail/u010164190/9892170 2.安装: # tar -zxf cscope-xx.x.tar.gz #
2017-08-18 15:38:28
371
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人