Originally posted by benmoran
View Post
- Desktops might have more than enough processing power for mixing and decompressing.
- Desktops might such a high power usage that dedicated hardware might not impact that much.
BUT
- Unless you use some type of optimized real-time kernel, due to audio-data processing and multitasking, you're always going to have some audio latency on a desktop.
So support for hardware functions, can be useful for use cases where latency matters like :
- Gaming (really matters a lot)
- Communication (lower latency helps a lot, specially if decompression is hardware)
- multimedia playback (can help a little bit playing synchronised video/audio with less latency).
Of course it won't help for the most usual use-case and what sound daemon are mostly used for:
- Playing system sounds.
(99% of a desktop's uptime, the sound deamon either sit idle, or just plays the various system beeps)
Originally posted by RealNC
View Post
Creative's cards DO HAVE hardware decompression support at least since the Audigy series of cards for AC3 and DTS streams.
C-Media sound chipset even support hardware *compression* (as in: play regular 5.1 audio like a game, the card compresses it on the fly into a DTS stream to by carrier over a single digital connector to your living room's sound system).
And technically, any card with a digital out could transmit compressed sounds as long as the decoder at the other side of the digital link supports the compression format. (as mentionned by pankkake)
Until now, with ALSA, this required putting some special settings into sound mixer (in order to activate direct digital pass-through, set the correct IEC headers in the digital packets), and then sending the compressed data is if it were raw PCM data.
And all these compression scheme have been CBR (constant bit rate any way) (easy to maskerade as raw PCM data).
The present library adds an actual standard API to do that (instead of fumbling with mixer settings) and introduces support for VBR (Variable Bit Rate) as used on lot of small portable files (MP3, AAC, OGG, etc)
Originally posted by newwen
View Post
On the other hand, as far as I known pulse audio doesn't support hardware mixing.
(So no easy way to send a compressed stream and systems sounds, or several system sounds, and have them processed by the hardware.
Currently, it's either passing a single compressed stream to the output. Or sending a uncompressed stream of PCM which was processed on the main CPU).
But I haven't read pulseaudio's source code, so maybe I am wrong.
Leave a comment: