At Sat, 18 Aug 2007 14:31:35 +0000 (UTC), Zig wrote:
Matthias Dahl <ml_alsa <at> mortal-soul.de> writes:
--- patch_analog.c.orig 2007-07-23 22:44:25.000000000 +0200 +++ patch_analog.c 2007-07-23 22:45:15.000000000 +0200 <at> <at> -2037,12 +2037,8 <at> <at> static struct hda_verb ad1988_spdif_init_verbs[] = { /* SPDIF out sel */ {0x02, AC_VERB_SET_CONNECT_SEL, 0x0}, /* PCM */
{0x0b, AC_VERB_SET_CONNECT_SEL, 0x0}, /* ADC1 */
{0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
{0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, /* SPDIF out pin */ {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x27}, /* 0dB */
{0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x17}, /* 0dB */ { }
};
I had similar issues, however patching the file as shown above caused no audio output at all on the SPDIF unless it was in AC3 passthrough mode.
Then it must be a usage error. In the ALSA system, the same stream is used regardless of audio or non-audio data.
It might be that you set non-audio bit permanently. Verify with iecset program in alsa-utils package.
Takashi