From 87876eabf51ec673861a02040d7331cd0f66108d Mon Sep 17 00:00:00 2001 From: Clemens Ladisch Date: Fri, 13 Jan 2006 07:48:59 +0100 Subject: [PATCH] --- yaml --- r: 22689 b: refs/heads/master c: 153abaa4ff0500070a282dd0868367d69388d527 h: refs/heads/master i: 22687: 42bd73ca871b2c121c3c4797fb07453291837eeb v: v3 --- [refs] | 2 +- trunk/sound/pci/ymfpci/ymfpci_main.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 16af1d0b0534..511df54a576c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 27346166a9b3b9eee586bce212502cddf9685a07 +refs/heads/master: 153abaa4ff0500070a282dd0868367d69388d527 diff --git a/trunk/sound/pci/ymfpci/ymfpci_main.c b/trunk/sound/pci/ymfpci/ymfpci_main.c index a1aa74b79b3d..30ee53adb494 100644 --- a/trunk/sound/pci/ymfpci/ymfpci_main.c +++ b/trunk/sound/pci/ymfpci/ymfpci_main.c @@ -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; } } }