
ALSA
jgw2008
这个作者很懒,什么都没留下…
展开
-
Linux ALSA声卡驱动之一:ALSA架构简介
ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。 在内核设备驱动层,ALSA提供了alsa-driver,同时在应用层,ALSA为我们提供了alsa-lib,应用程序只要调用alsa-lib提供的API,即可以完成对底层音频硬件的控制。转载 2016-09-19 14:49:23 · 352 阅读 · 0 评论 -
函数wcd_swr_ctrl_add_devices()分析
函数wcd_swr_ctrl_add_devices()的主要作用是WCD device添加到platform device列表中,挂载在platform bus下。此函数被wcd probe函数通过工作队列的方式呼叫,代码如下 schedule_work(&tasha->swr_add_devices_work);下面一起看看这个函数做了什么,1. 首先,从work队列中讲tas原创 2016-10-14 14:37:07 · 840 阅读 · 0 评论 -
函数snd_soc_register_codec()分析
函数snd_soc_register_codec()的主要作用是注册codec到ASoC,另外呼叫函数snd_soc_register_dais()注册DAI(Digital Audio Interface).原创 2016-10-12 18:13:09 · 8007 阅读 · 0 评论 -
函数snd_soc_register_dais()分析
函数snd_soc_register_dais()主要作用是向ASoC core注册DAIs(Digital Audio Interface).一个codec可能支持多种DAIs(Digital Audio Interface),如AC97,I2S,PCM,最近的项目中,一般只使用I2S。但是,代码中是支持多个DAIs(Digital Audio Interface),函数的第3个参数”count“就是DAIs(Digital Audio Interface)的数目。原创 2016-10-13 17:01:42 · 2400 阅读 · 0 评论 -
Linux ALSA声卡驱动之三:PCM设备的创建
声明:本博内容均由http://blog.youkuaiyun.com/droidphone原创,转载请注明出处,谢谢!1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样转载 2016-09-22 15:32:38 · 335 阅读 · 0 评论 -
使用tinymix进行Acostic测试
Audio chip使用的是WCD9335,使用tinymix进行Acostic测试。下面列出部分命令组合, 关于如何切换codec path,可以参考自己codec的xml档案,android/device/symbol/falcon/mixer_paths_wcd9335.xml1-DMIC1_HeadsetSPK_start) tinymix 'ADC MUX7' 'DMI原创 2016-09-21 20:27:44 · 1938 阅读 · 0 评论 -
Qualcomm Audio Driver Code Structure
目前开发的产品,用的是Qualcomm 的Audio chip WCD9335,ODM相关的主要代码如下1. 驱动代码放在如下位置, 里面包含audio path切换的"audio_map"表格,android/kernel/sound/soc/codecs/wcd9335.c2. 下面的xml包含codec切换path的配置,如下面配有切换至speaker所需要的原创 2016-09-21 19:30:17 · 5297 阅读 · 0 评论 -
Android音频底层调试-基于tinyalsa
原文:http://blog.youkuaiyun.com/kangear/article/details/38139669由于Android中默认并没有使用标准alsa,而是使用的是tinyalsa,所以就算基于命令行的测试也要使用libtinyalsa。Android系统在上层Audio千变万化的时候,可以能这些个工具实时查看到,比如音频通道的切换等等. 1.编译tinya转载 2016-09-21 15:37:37 · 651 阅读 · 0 评论 -
Android底层开发之耳机插拔与音频通道切换实例
原文:http://blog.youkuaiyun.com/kangear/article/details/40045743Android底层开发之耳机插拔与音频通道切换实例 由于使用的是耳机 麦克分离式的耳机,所以要分别上报事件。在Android系统层耳机插孔的检测是基于/sys/class/switch/h2w/state的值来判断的(以4.4.4_r2为例子位于W转载 2016-09-21 15:32:37 · 2781 阅读 · 0 评论 -
ALSA优秀文章链接
ALSA优秀文章链接,放在360doc,不好复制,所以仅把链接记住,以供未来参考,1. Linux ALSA系统架构以高通WM8976为例,描述了alsa驱动注册/打开流程/写数据流程,图文并茂,十分详细http://www.360doc.com/content/12/0731/17/10388890_227508444.shtml2. ALSA编程入门篇讲原创 2016-09-23 20:13:50 · 482 阅读 · 0 评论 -
Linux ALSA声卡驱动之四:Control设备的创建
声明:本博内容均由http://blog.youkuaiyun.com/droidphone原创,转载请注明出处,谢谢!Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过control接口转载 2016-09-23 19:20:28 · 284 阅读 · 0 评论 -
alsa和oss声音系统比较
OSS(Open Sound System)OSS的含义为,Open Sound System,是unix平台上一个统一的音频接口。以前,每个Unix厂商都会提供一个自己专有的API,用来处理音频。这就意味着为一种Unix平台 编写的音频处理应用程序,在移植到另外一种Unix平台上时,必须要重写。不仅如此,在一种平台上具备的功能,可能在另外一个平台上无法实现。但 是,OSS出现以后情况就大不一转载 2016-09-22 16:43:43 · 1310 阅读 · 0 评论 -
Linux ALSA声卡驱动之二:声卡的创建
snd_card可以说是整个ALSA音频驱动最顶层的一个结构,整个声卡的软件逻辑结构开始于该结构,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体。正因为如此,本节中,我们也从 struct cnd_card开始吧。转载 2016-09-19 17:05:11 · 436 阅读 · 0 评论 -
函数tasha_codec_probe()分析
函数tasha_codec_probe(),主要是初始化codec相关的一些设置,如register设置,mclk设置等。下面对tasha_codec_probe()作进一步分析,1. wmd9xxx的结构体control, 并将regmap(寄存器相关操作)的结构体赋值给codec->control_data. control = dev_get_drvdata(codec-原创 2016-10-14 18:45:54 · 723 阅读 · 1 评论