Can someone correct my understanding?
Also provides the driver to the hardware. The result is that you get a device to which only a single application can connect. Example "Card 0"
Also provides the ability to define multiple 'virtual' devices via the .asoundrc which attach to the card via dmix (Example vcard0, vcard1, vcard2)
Each application needs to communicate with it's own individual VCard.
Pulse creates a single interface (PVcard0) to which all applications can connect. It does it's own mixing, sample rate conversion, and sends it to Alsa's "Card 0"
Is this correct?
PA doesn't fix ALSA, it replaces it, so blow me and go fuck yourself, you piece of shit.Your analysis is shit. PA has fixed most of ALSA and works really well for most people so shut the fuck up.
Apologies to the other readers for having to read this. I always respond in kind.
Last edited by RealNC; 06-27-2012 at 04:23 PM.
But dmix should have done that to begin with.Dmix is a dirty hack that doesn't work well in multichannel setups for example. PulseAudio does the mixing like it should be done
It does solve a whole lot of problems. But it does that using the wrong approach. The userspace part of ALSA should be doing that. Everything should be nicely integrated using a single API instead of two.and it also supports numerous features that are not available for any other audio server for Linux. There's a reason why it's used by default in just about every single Linux distribution and mobile operating system (maemo, webOS, Mer, MeeGO, Tizen...) out there. It's simply the superior solution.
I do agree. But you're forgetting that ALSA-lib was created to handle all the userspace stuff. ALSA has two parts, one in kernel space, one in user space. PA is trying to replace the user space part of ALSA. It would make more sense to enhance user space ALSA instead of replacing it.Having all these features in kernel would make no sense what-so-ever and if they are implemented in user space they can as well be in PulseAudio.
I am talking about an unneeded API.So does PulseAudio... seriously what are you talking about?
There's two approaches to fixing something. a) try to fix the existing code and b) rewrite the existing code. PA did neither. It just threw another API in there. So when something turns up in PulseAudio that doesn't work well in the future, let's create yet another one. We'll call it NewAwesomeAudio which replaces PulseAudio. And later, when problems with that turn up, we'll go for yet another new API.The developement of PulseAudio started in year 2004 and it has been used exlusively for the past five years. ALSA has established itself as userspace interface for kernel drivers for other audio servers like PulseAudio and Jack to use. You subjective opinion of something being wrong doesn't really hold much value in this case and seriously what is your point here? Should we just throw away all the developement that has happenend in Linux audio stack for the past years and go back fixing some unfixable mess that isn't even used anymore?
No. If there's a problem, fix it.
Lol, Safari auto corrected "Alsa" to "Also".