日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux ALSA 图解

發布時間:2023/12/20 linux 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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。

machine

platform

codec

總結

比較簡單,主要是畫了幾張圖片,這些圖片對初學者或者是排查問題理清楚框架是有作用的,音頻下還有一些ring_buff和路由相關的,自己如何計算沒一幀數據的大小,下一次再總結下。


??

?

? 推薦閱讀:

? ??專輯|Linux文章匯總

? ??專輯|程序人生

? ??專輯|C語言

嵌入式Linux

微信掃描二維碼,關注我的公眾號?

總結

以上是生活随笔為你收集整理的Linux ALSA 图解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。