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