Am 08.03.2015 um 12:42 schrieb Alexander E. Patrakov:
08.03.2015 13:54, Xamindar wrote:
Further testing has shown that this is a pulseaudio problem. When I have
my audio device set to "Digital Surround 7.1" as it should be,
passthrough will not work in any app I test (kodi and vlc). My options
are here in this image: http://i.imgur.com/3zkMsGy.png
I do have the passthrough settings checked as can be seen in this image:
http://i.imgur.com/N7KMCZc.png

If I downgrade my settings to the "Digital Stereo" option then
passthrough will work for some reason.

Is this a limitation/regression in pulseaudio? Or do I simply have some
configuration set wrong?

This is a limitation and not a regression (i.e. passthrough never worked on non-stereo sinks). Here is what happens.

Passthrough works this way: an application negotiates a format with PulseAudio, and then sends a fake stereo stream that contains encoded data, just what would have to be transferred over spdif. Then PulseAudio is supposed to copy this fake stereo data to the receiver.

So, it would need to open the ALSA device in stereo mode. But, in multichannel profiles, it opens the ALSA device with the number of channels other than 2. So, to support your use case, new logic has to be added to the sink code so that it opens audio device with 2 channels and exposes 2 channels while in passthrough mode, even if it would use a different channel count otherwise.

What fails in your testcase is the line above the "rate update failed, or other parts of sample spec didn't match" comment in src/pulse/sink.c (the fake channel count doesn't match, as explained above).

But, why are you using the passthrough mode at all? HDMI, unlike SPDIF, has enough bandwidth to pass the 7.1 PCM stream. For SPDIF, passthrough was a necessity due to this bandwidth limitation. For real HDMI (as opposed to HDMI-to-SPDIF converter that doesn't support multichannel PCM anyway), it only serves marketing purposes (i.e., in theory, provides no benefits over software decoding and sending the resulting multichannel PCM stream). I sometimes think that the proper fix is to disallow passthrough completely for multichannel HDMI profiles, i.e. to effectively hide the checkboxes that you have demonstrated on the screenshot.



1) You might want to decode Dolby Digital / DTS on an external receiver because decoding on the PC requires a license. 2) Receivers might only accept spdif-data (plain stereo or encoded) regardless of HDMI's theoretical capabilities.

If PA is actually unable to pass through in multichannel profiles, then yes, pavucontrol should not show the check boxes, or better yet grey them out with a "Change to stereo profile" tooltip.

Best regards.

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to