星期三, 11月 18, 2009

Linux sound architecture - pulseaudio/alsa/codecs

Below is the processes of sound architecture what I know.
Only base on alsa architecture, and be aware OSS is not supported by Linux anymore.
*recording
mic --> audio codec --> audio codec interface (snd_hda_codec) --> alsa kernel driver --> /dev/snd/* --> alsa api --> alsa lib (you can have the different recording type here) --> sound recorder

*playing
totem --> gstreamer --> pulseaudio --> alsa lib --> alsa api --> alsa kernel --> /dev/snd/* --> alsa kernel driver --> audio controller driver --> audio controller --> speaker

** Vocabulary **
gstreamer : for some codecs that default doesn't support, like mp3 or divx.
alsa kernel driver : like soundcore, snd, snd_pcm, snd_timer...etc
audio controller driver : snd_hda_intel
audio codec interface : snd_hda_codec

** notes **
gnome-sound-recorder only support ogg and wav
packages:
helix for realplayer (non-free), and will touch the alsa lib directly.
gstreamer for the others free audio codecs, below lists the main packages.
-gst-plugins-base
contains a basic set of well-supported plug-ins
-gst-plugins-ugly
contains a set of well-supported plug-ins, but might pose problems for distributors
-gst-plugins-bad
contains a set of less supported plug-ins that haven't passed the rigorous quality testing we expect

4 則留言:

Unknown 提到...

邱先生
想請教您
關於 Linux作業系統之奧義
不知載版的進度如何了呢?

PS : 約莫半年前就收到您會在年底再版的訊息而等到現在的讀者

Juergen Chiu 提到...

不好意思.
已經寫完了, 在12月中會出版
不過你怎麼知道我要再版? :)
感謝你的關心
希望不會讓你失望
謝謝

Brya56615 提到...
網誌管理員已經移除這則留言。
匿名 提到...
網誌管理員已經移除這則留言。