ALSA
lininglive
这个作者很懒,什么都没留下…
展开
-
4.0音频系统HAL初探
转载自:昨天(2011-11-15)发布了Android4.0的源码,今天download下来,开始挺进4.0时代。简单看了一下,发现音频系统方面与2.3的有较多地方不同,下面逐一描述。一、代码模块位置1、AudioFlingerframeworks/base/services/audioflinger/ +转载 2014-12-02 10:50:53 · 1030 阅读 · 0 评论 -
snd_kcontrol探究
control控制接口控制接口对于许多开关(switch)和调节器(slider)应用广泛,它能被用户空间存取,从而读写CODEC相关寄存器。control的主要用于mixer。它用snd_kcontrol_new结构体描述。snd_kcontrol_new[cpp] view plaincopy转载 2016-08-08 15:05:07 · 2671 阅读 · 0 评论 -
DAPM之二:audio paths与dapm kcontrol
在用alsa_amixer controls时,除了我们之前提到的snd_soc_add_controls添加的kcontrols外,还有一些多出来的controls。其实多出来的那些都是属于dapm kcontrol,主要用于切换音频路径。 一、AUDIO PATHS OVERVIEW以标准内核2.6.32的wm8900 codec为例。先看AUDIO P转载 2016-08-08 15:06:40 · 596 阅读 · 0 评论 -
DAPM之三:audio paths与asound.conf
其实asound.conf真跟dapm没多大关系,之所以把它也纳入dapm系列之一,是为了考虑到知识的连贯性。在DAPM之二:AUDIO PATHS与dapm kcontrol>提到:通过配置好asound.conf,上层则可打开asound.conf中定义的虚拟设备,而自动选择相应的音频通道。这是asound.conf很重要的一个作用,从这方面来说,并不是跟dapm完全没关系。转载 2016-08-08 15:13:13 · 371 阅读 · 0 评论 -
alsa 音频路径的问题:
alsa 音频路径的问题:在sound/soc/codecs目录中有很多音频codec的codec驱动,我使用的是wm9713,AP是s3c6410;这里个驱动文件中定义了很多widget和control,alsa在playback或record的时候,sound/soc/soc-dapm.c中的dapm_power_widgets函数会根据“配置情况”打开相应的widget,搭建一个完整的音转载 2016-08-08 15:17:20 · 1764 阅读 · 0 评论 -
linux_sound_alsa_ALSA体系SOC子系统中数据流分析
前言: linux中,无论是oss还是alsa体系,录音和放音的数据流必须分析清楚。先分析alsa驱动层,然后关联到alsa库层和应用层。 链接分析: core/pcm_native.c文件中.mmap = snd_pcm_mmap调用snd_pcm_mmap_data(substream, file, area);进一步调用substream-转载 2016-08-08 15:21:09 · 948 阅读 · 0 评论 -
linux_sound_alsa_Android+alsa音频系统中的几个问题
1.Android+alsa音频体系大体结构: 从alsa的角度由下往上看:linux中有alsa驱动层,其中,/sound/core/pcm_native.c文件中的snd_pcm_f_ops是alsa驱动层对alsa_lib层的接口;Android中有alsa_lib层(在donut/external/alsa_lib目录下)和alsa应用层; 从Android的角度由转载 2016-08-08 15:22:01 · 1027 阅读 · 0 评论 -
音频电源动态管理--概述
DAPM--Dynamic Audio Power Management,对应结构体是snd_soc_dapm_widget和snd_soc_dapm_route,对应的操作函数是snd_soc_dapm_new_controls()、snd_soc_dapm_add_routes()和snd_soc_dapm_new_widgets()。在我看来,DAPM是音频驱动初接触者的噩梦。从何处来,到何转载 2016-08-08 15:03:21 · 1433 阅读 · 0 评论 -
Linux ALSA声卡驱动之八:ASoC架构中的Platform
1. Platform驱动在ASoC中的作用前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过CPU的数字音频接口(DAI)把音频数据传送给Codec进行处理,最终由Codec输出驱动耳机或者是喇叭的音信信号。在具体实现上,ASoC有把Platform驱动分为两个部分:snd_soc_pl转载 2016-08-08 14:55:40 · 998 阅读 · 0 评论 -
Linux ALSA声卡驱动之七:ASoC架构中的Codec
1. Codec简介在移动设备中,Codec的作用可以归结为4种,分别是:对PCM等信号进行D/A转换,把数字的音频信号转换为模拟信号对Mic、Linein或者其他输入源的模拟信号进行A/D转换,把模拟的声音信号转变CPU能够处理的数字信号对音频通路进行控制,比如播放音乐,收听调频收音机,又或者接听电话时,音频信号在codec内的流通路线是不一样的对音频信号做出相应的处理转载 2016-08-08 14:49:00 · 645 阅读 · 0 评论 -
audio_policy.conf说明(翻译)
转载自:http://www.cnblogs.com/albert1017/p/3940010.html作者写的很不错,记录下来供以后温故。## Audio policy configuration for generic device builds (goldfish audio HAL - emulator)#这是模拟器的Audio policy配置##转载 2014-12-02 10:35:29 · 3081 阅读 · 0 评论 -
ALSA SOC在Linux3.1上的一些改进
转载自:http://blog.csdn.net/azloong/article/details/72227992012已经到来,无论这个世界是否行将毁灭,在那之前的日子还得要继续。Android迈进了4.0,相应的Linux内核也进入了3.x时代。之后的一个工作估计要将2.6.32的驱动移植到3.x上面来。因此趁现在有空,看看alsa在这方面有什么改动。总转载 2014-12-02 11:52:52 · 844 阅读 · 0 评论 -
基于uda34x的ALSA声卡驱动之设备建立流程
声卡设备模型建立的几个必要文件是:s3c24xx_uda134x.c,s3c24xx-i2s.c,s3c24xx-pcm.cuda134x.c,soc-core.c。s3c24xx-i2s.c : 该文件主要实现了配置cpu上iis接口寄存器的一些操作函数,填充了结构 体 s3c24xx_i2s_dai。s3c24xx-pcm.c转载 2014-12-19 13:56:46 · 728 阅读 · 0 评论 -
linux音频alsa驱动分析之一(over-view)
ALSA SoC LayerALSA板上系统层==============The overall project goal of the ALSA System on Chip (ASoC) layer is toprovide better ALSA support for embedded system-on-chip processors (e.g.pxa2xx,转载 2016-08-08 10:48:04 · 1165 阅读 · 0 评论 -
Linux ALSA声卡驱动之一:ALSA架构简介
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!一. 概述 ALSA是Advanced Linux Sound Architecture 的缩写,目前已经成为了linux的主流音频体系结构,想了解更多的关于ALSA的这一开源项目的信息和知识,请查看以下网址:http://www.alsa-project.org/。原创 2016-08-08 10:51:30 · 380 阅读 · 0 评论 -
linux音频alsa驱动分析之二 时钟
Audio Clocking音频时钟==============This text describes the audio clocking terms in ASoC and digital audio ingeneral. Note: Audio clocking can be complex!本文本总体描述ASoC和数字音频中的音频时钟条款。Note:Audi转载 2016-08-08 11:09:10 · 1429 阅读 · 0 评论 -
linux音频alsa驱动分析之三 解码器
ASoC Codec DriverASoC解码器驱动=================The codec driver is generic and hardware independent code that configures thecodec to provide audio capture and playback. It should contain no code转载 2016-08-08 11:31:03 · 2326 阅读 · 0 评论 -
linux音频alsa驱动文档阅读之四 数字音频接口
转自:http://blog.chinaunix.net/uid-22917448-id-1765505.htmlASoC currently supports the three main Digital Audio Interfaces (DAI) found onSoC controllers and portable audio CODECs today, namely A转载 2016-08-08 11:38:05 · 875 阅读 · 0 评论 -
uda1341原理及驱动
现在主流的音频总线接口有IIS和AC97(Audio Codec)。一。IIS是由sony和PILIPS公司共同推出的一套标准。 IIS有3--5根物理连线 IIsDI:串行数据输入 IISDO:串行数据输出 IISSCLK:为串行数据提供位时钟。IISSCLK=声道数*采样频率*采用位数。如:fs=44.1Khz 声道数位2.采样位数为16转载 2016-08-08 13:43:25 · 764 阅读 · 0 评论 -
Linux ALSA声卡驱动之三:PCM设备的创建
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,转载 2016-08-08 14:03:51 · 5247 阅读 · 0 评论 -
Linux ALSA声卡驱动之四:Control设备的创建
声明:本博内容均由http://blog.csdn.net/droidphone原创,转载请注明出处,谢谢!Control接口Control接口主要让用户空间的应用程序(alsa-lib)可以访问和控制音频codec芯片中的多路开关,滑动控件等。对于Mixer(混音)来说,Control接口显得尤为重要,从ALSA 0.9.x版本开始,所有的mixer工作都是通过contr转载 2016-08-08 14:23:11 · 496 阅读 · 0 评论 -
Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)
1. ASoC的由来ASoC--ALSA System on Chip ,是建立在标准ALSA驱动层上,为了更好地支持嵌入式处理器和移动设备中的音频Codec的一套软件体系。在ASoc出现之前,内核对于SoC中的音频已经有部分的支持,不过会有一些局限性: Codec驱动与SoC CPU的底层耦合过于紧密,这种不理想会导致代码的重复,例如,仅是wm8731的驱动,当时Lin转载 2016-08-08 14:28:12 · 526 阅读 · 0 评论 -
Linux ALSA声卡驱动之六:ASoC架构中的Machine
前面一节的内容我们提到,ASoC被分为Machine、Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器);单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结转载 2016-08-08 14:47:22 · 621 阅读 · 0 评论 -
IMX6的相关音频结构体的定义
在IMX上的音频接口主要有3种接口,分别为SSI, SPDIF, ESAI 等;platform 连接 codec 与 cpu 的驱动时,通过内核函数结构体static struct snd_soc_dai_link 来设置两边的接口;SSI接口中,IMX6中的SSI接口有3对可以接着路I2S;三路SSI可以每路SSI 单独作为一个声卡,也可以是一个声卡包含多个设备;以下的定义转载 2016-08-09 10:06:57 · 957 阅读 · 0 评论