[pulseaudio-discuss] How to use ALSA compress API in Pulseaudio with passthrough mode

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Thu Sep 11 07:18:55 PDT 2014


On 9/5/14, 10:15 AM, CS wrote:
> I understand that passthrough mode is implemented to handle scenarios
> where hardware based decoders are ported, so that PA daemon don't apply
> resampling etc. But I don't see any compressed API calls from PA. How this
> can be achieved?

The passthrough mode is not directly linked to the ALSA compressed API. 
This mode relies on a packetization of the compressed data in an 
IEC-like format (padded with header and zeroes) for pulseaudio to handle 
timing correctly. The sink is where the compressed data is processed. 
You can either send the IEC-like data straight to the receiver (e.g. 
with Dolby/DTS payload), or you can extract the data and repacketize it 
(MP3 for A2DP passthrough), and last you strip the header and pass the 
payload to your hardware decoder using the compressed API. These choices 
are part of the sink implementation, PulseAudio will use the data in a 
generic manner all the way to the sink.
Does this answer to the question?
-Pierre



More information about the pulseaudio-discuss mailing list