mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-05 13:29:57 -05:00
alsa-sink: Don't pretend to support passthrough on HDMI surround sinks
It doesn't work currently (fails and falls back to PCM), due to channel count mismatch between the sink sample spec and the sample spec required by IEC61937. To be reverted when someone implements changing channel count without switching profiles. This would also be required for HBR passthrough over HDMI. Reported-by: Xamindar <junkxamindar@gmail.com> Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
This commit is contained in:
parent
d6b892efdc
commit
04737989ec
1 changed files with 7 additions and 1 deletions
|
|
@ -2226,7 +2226,13 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
|
||||||
pa_log_info("Disabling latency range changes on underrun");
|
pa_log_info("Disabling latency range changes on underrun");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_iec958(u) || is_hdmi(u))
|
/* All passthrough formats supported by PulseAudio require
|
||||||
|
* IEC61937 framing with two fake channels. So, passthrough
|
||||||
|
* clients will always send two channels. Multichannel sinks
|
||||||
|
* cannot accept that, because nobody implemented sink channel count
|
||||||
|
* switching so far. So just don't show known non-working settings
|
||||||
|
* to the user. */
|
||||||
|
if ((is_iec958(u) || is_hdmi(u)) && ss.channels == 2)
|
||||||
set_formats = true;
|
set_formats = true;
|
||||||
|
|
||||||
u->rates = pa_alsa_get_supported_rates(u->pcm_handle, ss.rate);
|
u->rates = pa_alsa_get_supported_rates(u->pcm_handle, ss.rate);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue