3 ms·
I've grown to really like PA. Originally I did not like PA because I thought it used more system resources over raw ALSA since it obviously came with a daemon r
by esaym 9y ago
I've grown to really like PA. Originally I did not like PA because I thought it used more system resources over raw ALSA since it obviously came with a daemon running the background.. What I didn't know was that the libraries that applications used to interface with ALSA had all computation for sound mixing done in userland. So in a real world example, your audio player app using raw ALSA might use 10% of your cpu while playing audio. But using the pulse backend would cause your audio app to use 2% cpu with the pulse daemon using 3%. So its actually using less even though it is not obvious.
Once I started using PA, I kind of went crazy with it and started trying to add PA support to old linux software that was still ALSA only. The library and docs were not hard to use. The PA framework is all reference counted as well so when you create the pa-objects in C, you never really need to worry about memory allocation. It was pretty neat. Unfortunately, before I had all my commits and patches ready, I changed jobs and never got the free time to commit them the rest of the way.