Linux ALSA 图解
最近在解决一个音频的问题,所以正好借这个机会来把音频的东西重新梳理一下,总结是一个很好的习惯,能方便自以后遇到问题快速排查问题。
平台「MT8167」
内核版本「kernel 4.4」
音频读数据函数流程
内核注册声卡流程
内核驱动里面的platform、machine和codec
如果看alsa驱动,不能清楚这三个「怪兽」的联系,会很容易陷入迷宫里面之中不能自拔。
machine 「可以理解成一个主板、一套代码是可以适配很多很多主板的」
platform 「这个代表的是CPU型号,平台相关的东西」
codec「也就是音频芯片,有编解码的AD或者DA」
machine、platform、codec 关键结构体
machine用来指定使用哪个platform和codec。
总结
比较简单,主要是画了几张图片,这些图片对初学者或者是排查问题理清楚框架是有作用的,音频下还有一些ring_buff和路由相关的,自己如何计算没一帧数据的大小,下一次再总结下。
推荐阅读:
专辑|Linux文章汇总
专辑|程序人生
专辑|C语言
嵌入式Linux
微信扫描二维码,关注我的公众号
Linux ALSA 图解相关推荐
- Linux下图解minicom安装
Linux下图解minicom安装 minicom是一个串口通信工具,就像Windows下的HyperTerminal.可用来与串口设备通信,如调试交换机和Modem等.它的Ubuntu软件包的名称就 ...
- Linux ALSA声卡驱动之八:ASoC架构中的Platform
1. Platform驱动在ASoC中的作用 前面几章内容已经说过,ASoC被分为Machine,Platform和Codec三大部件,Platform驱动的主要作用是完成音频数据的管理,最终通过C ...
- 基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(三)
作品已经完成,先上源码: https://files.cnblogs.com/files/qzrzq1/WIFISpeaker.zip 全文包含三篇,这是第三篇,主要讲述接收端程序的原理和过程. 第一 ...
- linux音频时钟bclk,linux alsa音频中采样率fs、比特率BCLK 、主时钟MCLK关系
转:https://blog.csdn.net/lugandong/article/details/72468831 一. 拿512fs说话: 看图知道采样的位深是32bit(位),左右声道各占了8* ...
- Linux ALSA 音频系统:物理链路篇
原址 1. Overview 硬件平台及软件版本: Kernel - 3.4.5 SoC - Samsung exynos CODEC - WM8994 Machine - goni_wm8994 U ...
- 基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(二)
作品已经完成,先上源码: https://files.cnblogs.com/files/qzrzq1/WIFISpeaker.zip 全文包含三篇,这是第二篇,主要讲述发送端程序的原理和过程. 第一 ...
- Linux ALSA声卡驱动之四:Codec 以及Codec_dai
ALSA声卡驱动: 1.Linux ALSA声卡驱动之一:ALSA架构简介和ASOC架构简介 2.Linux ALSA声卡驱动之二:Platform 3. Linux ALSA声卡驱动之三:Platf ...
- (二)Linux ALSA 音频系统:逻辑设备篇
逻辑设备篇 转自:https://me.csdn.net/zyuanyun Linux ALSA 音频系统:逻辑设备篇 Linux ALSA 音频系统:逻辑设备篇 原创 zyuanyun 最后发布于2 ...
- Linux ALSA声卡驱动之二:Platform
ALSA声卡驱动: 1.Linux ALSA声卡驱动之一:ALSA架构简介和ASOC架构简介 2.Linux ALSA声卡驱动之二:Platform 3. Linux ALSA声卡驱动之三:Platf ...
最新文章
- 微软2011 Build大会:Windows 8盛大出场(转)
- 桌面便签软件PNotes
- 初步学习pg_control文件之六
- 苹果 AirPods 只能是 iPhone 的配件吗?
- jquery监听html状态,jquery监听页面刷新
- Hierarchical Features Driven Residual Learning for Depth Map Super-Resolution 2019TIP 论文阅读
- 商业计划书模板(高质量)
- coreseek mysql安装_coreseek安装和使用(一)
- 物业缴费管理系统 微小区 物业社区公众号开发 物业APP小程序源码
- 74HC/LS/HCT/F系列芯片的区别
- 前端装逼必备--Canvas
- 电脑与手机竟然还能这样传文件!
- 金庸小说中的农业漏洞[ZT]
- java ebcdic_java EBCDIC | 学步园
- YOLOV5的FPS计算问题
- Clojure CLR 入门
- 本周总结-付金田-2018年3月18日
- 架构-系统架构设计模块-2
- 【Delphi入门】运算符与表达式
- iOS7.11-7.12和iOS8.0-3.3通用隐藏ID的方法
热门文章
- 跟我学Shiro目录贴
- unix-ln 命令
- 电脑上面玩Android 游戏(.apk文件)
- C#中跨窗体操作(1)--事件
- php 逗号 分割字符串
- fasttext 文本分类_4种常见的NLP实践思路【特征提取+分类模型】
- MySQL 之 explain
- mac eclipse tomcat mysql_mac下使用eclipse+tomcat+mysql开发 j2ee(一)
- 五个温度带的分界线_女神建筑师在拿破仑故乡打造的海景别墅,超美!超有温度!【环球设计2225期】...
- JSON(JavaScript Object Notation) 格式