2011/6/20 Raymond Yau superquad.vortex2@gmail.com:
2011/6/20 alex dot baldacchino dot alsasub at gmail dot com
Take a look at playback_multi_pcm_prep_0() in patch_via.c , it seem this "copy front" mode is enabled by default in via codecs
/* front */ snd_hda_codec_setup_stream(codec, nids[HDA_FRONT], stream_tag, 0, format);
if (mout->hp_nid && mout->hp_nid != nids[HDA_FRONT] && !spec->hp_independent_mode) /* headphone out will just decode front left/right (stereo) */ snd_hda_codec_setup_stream(codec, mout->hp_nid, stream_tag, 0, format);
/* extra outputs copied from front */ for (i = 0; i < ARRAY_SIZE(mout->extra_out_nid); i++) if (mout->extra_out_nid[i]) snd_hda_codec_setup_stream(codec, mout->extra_out_nid[i], stream_tag, 0, format);
/* surrounds */ for (i = 1; i < mout->num_dacs; i++) { if (chs >= (i + 1) * 2) /* independent out */ snd_hda_codec_setup_stream(codec, nids[i], stream_tag, i * 2, format); else /* copy front */ snd_hda_codec_setup_stream(codec, nids[i], stream_tag, 0, format); } _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
Yes, I had noticed it, but before seeing that line, I went out crazy thinking mout->extra_out_nid was initialized somewhere in the code (in the driver) and used in this function... Lastly, I found that place: Nowhere Land, LOL!
I must be needing some new glasses, LOL.