Linux ALSA 图解
生活随笔
收集整理的這篇文章主要介紹了
Linux ALSA 图解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近在解決一個音頻的問題,所以正好借這個機會來把音頻的東西重新梳理一下,總結是一個很好的習慣,能方便自以后遇到問題快速排查問題。
平臺「MT8167」
內核版本「kernel 4.4」
音頻讀數據函數流程
tinyalsa調用讀取函數IOCTL調用流程讀取數據到應用層內核注冊聲卡流程
注冊注冊PCM創建pcm設備創建pcm設備內核驅動里面的platform、machine和codec
如果看alsa驅動,不能清楚這三個「怪獸」的聯系,會很容易陷入迷宮里面之中不能自拔。
machine 「可以理解成一個主板、一套代碼是可以適配很多很多主板的」
platform 「這個代表的是CPU型號,平臺相關的東西」
codec「也就是音頻芯片,有編解碼的AD或者DA」
machine、platform、codec 關鍵結構體
machine用來指定使用哪個platform和codec。
machineplatformcodec總結
比較簡單,主要是畫了幾張圖片,這些圖片對初學者或者是排查問題理清楚框架是有作用的,音頻下還有一些ring_buff和路由相關的,自己如何計算沒一幀數據的大小,下一次再總結下。
??
?
? 推薦閱讀:
? ??專輯|Linux文章匯總
? ??專輯|程序人生
? ??專輯|C語言
嵌入式Linux
微信掃描二維碼,關注我的公眾號?
總結
以上是生活随笔為你收集整理的Linux ALSA 图解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AD9371、AD9361、ADRV90
- 下一篇: PHP常用函数速查表(转载)