[pulseaudio-discuss] [PATCH]: High-definition audio pass-through support

Kelly Anderson kelly at silka.with-linux.com
Fri Nov 18 10:17:17 PST 2011

On 11/18/2011 10:16 AM, Colin Guthrie wrote:
> 'Twas brillig, and Kelly Anderson at 18/11/11 16:37 did gyre and gimble:
>> On 11/17/2011 11:41 PM, Maarten Bosmans wrote:
>>> 2011/11/17 Kelly Anderson<kelly at silka.with-linux.com>:
>>>> Hi,
>>>> So I patched PulseAudio 1.1 for hdmi-surround-71 and lo and behold it
>>>> worked.
>>>> Here's a patch, hopefully we can get this added in the next official
>>>> release
>>>> of PulseAudio.  I know that there are quite a few Xbmc users that
>>>> have been
>>>> anxiously
>>>> waiting for high-definition audio pass-through to work correctly.  Of
>>>> course
>>>> if someone
>>>> has a better solution, that would be fine too.
>>> Note that there's nothing inherently high-definition about the audio
>>> data through a hdmi connector.
>> True.  I should have said DTS-HD.  DTS-HD requires more bandwidth then 2
>> channels @192K
>> can handle.  8 channels @192K provides enough bandwidth (768K) to handle
>> the high
>> def audio formats such as DTS-HD.
>>> How about also adding 4.0 and 5.1? That seems more complete.
>> They weren't necessary for the pass-through support, although they may
>> be beneficial
>> for non-pass-through audio.
> I'm confused.....
> This isn't pass through is it? I mean it's defining an 8 channel PCM
> device. You do not pass it encoded DTS, AC3 etc. etc. data, but an 8
> channel PCM stream.
> Pass through is quite different, but is also supported in PA 1.1
> (provide the client application uses the new API to enable pass through).
> Isn't this just enabling 7.1 channel output, such that the application
> in question does the decoding and passes the PCM stream to your receiver
> equipment?
This email provides the most detailed description of the what is 
necessary to
get the bandwidth required to do DTS-HD pass-through.  The most significant
piece is the 8 channel HBR requirement.  Without adding the patch at the
start of this thread I can't get it to switch into 8 channel mode to get 
the 768K


I've perused the pulseaudio code many times looking to uncover the secrets
of the "new" pass-through code.  I didn't find anything like a 
conversion of raw
DTS(-HD) packets to 0-padded pass-through data.  So, I guess I'm confused
as to the advantage of the "new" pass-through code versus opening the stream
with PA_STREAM_PASSTHROUGH.  I'd be happy for someone to unlock the secrets
of the "new" pass-through approach.  BTW, all of the info on the web covers
the "old" pass-through techniques but I don't see any info on the new 
It might be useful for someone to rewrite pacat.c to use the new techniques
as an example.

> This isn't necessarily a bad thing to support, but I think the commit
> message and such is then quite wrong (and judging from your comments,
> perhaps your understanding of what is going on too might be quite off
> target!)
> Col

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20111118/b72b71d0/attachment.htm>

More information about the pulseaudio-discuss mailing list