[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:
Clemens Ladisch 2006-01-13 07:48:59 +01:00 committed by Jaroslav Kysela
parent 27346166a9
commit 153abaa4ff

View File

@ -536,13 +536,17 @@ static void snd_ymfpci_pcm_init_voice(struct snd_ymfpci_pcm *ypcm, unsigned int
}
}
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) {
bank->eff2_gain =
bank->eff2_gain_end = vol_left;
bank->eff3_gain =
bank->eff3_gain_end = vol_left;
}
if (use_right) {
bank->eff3_gain =
bank->eff3_gain_end = vol_right;
bank->eff2_gain =
bank->eff2_gain_end = vol_right;
}
}
}