If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Google Chrome/Chromium Now Supports PulseAudio

08-19-2011, 12:10 PM

Phoronix: Google Chrome/Chromium Now Supports PulseAudio

Making news in the browser world this morning is word of Firefox 7 Beta. Firefox 7 has optimized memory usage, improved memory management, enhances Firefox Sync, and other enhancements. But there's also some other interesting news in the browser world for the more technical users and it's concerning Google Chrome/Chromium...

Comment

Well, as long as it stays out of my way, I don't mind PA. My question was based on this:

It's pleasant to see the support of PulseAudio finally, which will hopefully lead to a better web-browser audio experience for most modern Linux distributions that use this open-source audio library, compared to Chrome talking directly to ALSA.

Comment

Probably a fear that developers will drop the ALSA backend or stop adding to it. It happened with OSS, so it's not a stretch of the imagination.

There is a active movement to get rid of OSS support in Linux. The reason, of course, is that OSS is terrible.

I wouldn't mind seeing Alsa go away, of course, for many applications.

I noticed quite a bit with applications that are Alsa-only that they do a lot of unnecessary junk. Stuff like trying to probe for audio devices and stuff like that. I had audacity break bluetooth audio because it was trying to detect things, but doing it poorly and trying to configure stuff. I had a similar thing happen with Ekiga. Every time I use it it jacks up my microphone levels or breaks something stupid to were I have to drop back into the command line and run 'alsamixer' to fix what ever stupid thing it did.

In a Alsa-only world it is understandable a bit. Setting up microphones and such with Alsa is such a pain in the ass for end users that these applications try to make it 'easy' by detecting and auto-configuring as much as possible. This, of course, is full of fail. The reason is that they have no way of knowing what other applications are doing and what else is going on in the system.

With PA management of inputs and outputs is all centralized and you don't have to muck around with settings in each application. They apps don't have to care about what devices you have or how to setup them up... PA does all the work and the users will have a consistent way to get stuff working for all applications.

Comment

From a application standpoint I think that PA is simpler interface to do things 'right' and it can help with performance.

PA surely could be a simpler interface for applications, but can't help with performance since it is an added abstraction layer.
PA source code (expecially resamplers) are filled with notices about poor performance because they are straight implementations of filters without particular optimizations in place. Not to mention they don't use SIMDs at all.

Also I noticed PA has the bad behaviour to resample even those streams that have the same properties (frequency, depth) of the output stream.

Comment

PA surely could be a simpler interface for applications, but can't help with performance since it is an added abstraction layer.

No. It's not a abstraction layer. It's a sound server.

And yes it can actually improve performance. Everything PA does is needed to be done. There is no free lunch here. You need to perform sound mixing somewhere, you need to have accurate timings. You need something to manage your sound devices, etc etc. You can do it through a combination of application logic and driver logic, or you can separate that stuff off and handle it centrally by a program that is designed specifically to solve these problems.

(meaning it can improve performance because it does a better job)

PA source code (expecially resamplers) are filled with notices about poor performance because they are straight implementations of filters without particular optimizations in place. Not to mention they don't use SIMDs at all.

Well maybe that is something you can fix if you think that SIMD can help with those filters.

Anyways it only performs remixing if it has to.

Also I noticed PA has the bad behaviour to resample even those streams that have the same properties (frequency, depth) of the output stream.