[pulseaudio-discuss] {PATCH][RFC] AC3 passthrough support

pl bossart bossart.nospam at gmail.com
Fri Jul 9 10:43:55 PDT 2010

> 1. I was wondering if MP3/DTS/AC3 passthrough is at the discussion point
> only or is someone actively looking at developing it?

AC3 passthrough works (see patches at start of thread). That said
there are still some opens and feedback is still welcome. I guess this
will be part of Meego at some point, but since there''s nothing hw
specific the discussion takes place in the open.

> 2. I think that encoding needs to be considered as part of the design ie.
> the possibility of AC3 or MP3 encoding before output to SPDIF.

AC3 encoding can be done by selecting the relevant profile
(ac3-iec958). The encoding takes place in alsa-lib a52 plugin. I
initially removed these profiles but took some flak for it, apparently
some people encode their multichannel streams prior to SPDIF
I am afraid MP3 encoding in PulseAudio doesn't make sense, not
supported either by SPDIF or HDMI. And for BT use cases, you might as
well encode in SBC if you have PCM in the first place.

> Perhaps you're already past this point, but there is an Alsa utility iecset
> which returns (and can set) whether raw data or PCM is being passed to
> SPDIF. So presumably the Pulseaudio passthrough for Alsa just needs to call
> the same function that utility does.

iecset sets the AES0-3 bytes, but does not handle actual data
formatting which is done by the gstreamer ac3iec958 element and by the
alsa-lib iec958 plugin. For now I don't even bother to set these bits,
they are so unreliable that receivers usually ignore them.

> Can someone point me to any design and API docs for Pulseaudio as I'm
> interested in learning where and how it connects to Alsa?

No real docs. See the code in src/modules/alsa. Only took me a year to
figure things out :-(

More information about the pulseaudio-discuss mailing list