随笔分类 - Audio
摘要:耳机插拔/线控按键识别流程 [耳机插拔/线控按键识别流程 ](https://blog.csdn.net/sinat_34606064/article/details/77932816?utm_source=copy ) 1.文档概述 本文以msm8909平台,android N为例,介绍了通用情况
阅读全文
摘要:上报设备 1. headset :听筒mic 2. headphone:听筒没有mic 3. Lineout:声音输出没有mic 上报方式 1. 输入子系统: 可上报输入事件 上报开关事件 2. switch state:uevent 编写输入系统驱动 1. 分配input_dev; 2. 设置:
阅读全文
摘要:1 分析思路 1. Thread如何创建? AudioPolicyService是策略的制定者,AudioFlinger是策略的执行者, 所以: AudioPolicyService根据配置文件使唤AudioFlinger来创建Thread 2. Thread对应output, output对应哪些
阅读全文
摘要:继上一篇文章:http://www.cnblogs.com/linhaostudy/p/8515277.html 三、tinymixer调用分析:(tinymixer.log搜索节点:/dev/snd/controlCx) 还是一样,系统调用从应用层到kernel层,都要通过VFS来到file_op
阅读全文
摘要:如何分析tinyplay 播放音频和tinymix的过程?需要相应的工具来支持追查; 一、分析tinyplay和tinymix: 1.1 利用strace工具: strace -o tinyplay.log tinyplay 1.wav strace -o tinymixer.log tinymix
阅读全文
摘要:在上一篇文章中,我们重点介绍了widget、path、route之间的关系及其widget的注册; http://www.cnblogs.com/linhaostudy/p/8509899.html 在最后一章中,我们已经简单介绍了snd_soc_dapm_new_controls函数用来创建wid
阅读全文
摘要:最近使用tinymix 调试相应的音频通道,但是一直不知道音频通道的原理是什么。所以百度了一下,百度结果是与DPAM有关。 一、DAPM简介: DAPM是Dynamic Audio Power Management的缩写,直译过来就是动态音频电源管理的意思,DAPM是为了使基于linux的移动设备上
阅读全文
摘要:继上一篇文章:高通Audio中ASOC的machine驱动(一) ASOC的出现是为了让codec独立于CPU,减少和CPU之间的耦合,这样同一个codec驱动就无需修改就可以匹配任何一款平台。 在Machine中已经知道,snd_soc_dai_link结构就指明了该Machine所使用的Plat
阅读全文
摘要:ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Pl
阅读全文
摘要:http://blog.csdn.net/mike8825/article/details/69489865?locationnum=3&fps=1 1、DTS相应修改: DTS相关代码:kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skuc.dtsi: 1 s
阅读全文
摘要:一个正常的UAC设备插入Android 7.0是默认打开UAC配置的,打印的log如下: 而Android4.0是没有默认打开,是需要进行相应的配置的;这里可以看到其驱动程序为snd-usb-audio,依据这个关键词在内核中查找到如下内容: 需要在 /kernel/arch/arm/configs
阅读全文
摘要:linux驱动 alsa模型: Linux ALSA声卡驱动之一:ALSA架构简介 Linux ALSA声卡驱动之二:声卡的创建 Linux ALSA声卡驱动之三:PCM设备的创建 Linux ALSA声卡驱动之四:Control设备的创建 Linux ALSA声卡驱动之五:移动设备中的ALSA(A
阅读全文