[ALSA] ymfpci: fix swapped channels in SPDIF output
Modules: YMFPCI driver The routing of the effect 2/3 channels to the digital output is the opposite of the rear analog output (left/right swapped). We make the order correct for the digital output (which will make the analog rear have the channels swapped) to make AC3 output work. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
This commit is contained in:
committed by
Jaroslav Kysela
parent
27346166a9
commit
153abaa4ff
@@ -536,13 +536,17 @@ static void snd_ymfpci_pcm_init_voice(struct snd_ymfpci_pcm *ypcm, unsigned int
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ypcm->output_rear) {
|
if (ypcm->output_rear) {
|
||||||
|
/* The SPDIF out channels seem to be swapped, so we have
|
||||||
|
* to swap them here, too. The rear analog out channels
|
||||||
|
* will be wrong, but otherwise AC3 would not work.
|
||||||
|
*/
|
||||||
if (use_left) {
|
if (use_left) {
|
||||||
bank->eff2_gain =
|
bank->eff3_gain =
|
||||||
bank->eff2_gain_end = vol_left;
|
bank->eff3_gain_end = vol_left;
|
||||||
}
|
}
|
||||||
if (use_right) {
|
if (use_right) {
|
||||||
bank->eff3_gain =
|
bank->eff2_gain =
|
||||||
bank->eff3_gain_end = vol_right;
|
bank->eff2_gain_end = vol_right;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user