> Yesterday I got an interesting email related to dcaenc support. > > The person has an "XFX nForce 780i SLI" MCP board: > http://www.nvidia.com/object/product_nforce_780i_sli_us.html , > http://www.evga.com/support/manuals/files/132-CK-NF78.pdf > > As you see on page 18 of the manual, this board has no HDMI output, but > there is an optical SPDIF. Strangely enough, this SPDIF is his > "hdmi:CARD=NVidia,DEV=0" device. > > Given the recent discussions related to dynamically creating PCM devices > for HDMI, I think you will be interested in this alsa-info output. > > Is there anything here that would need special treatment by ALSA or > PulseAudio? Or, is this just a misnumbered/misnamed codec? > swap dig_out_pins of autocfg when type are different diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c index 03b7399..3ff16e8 100644 --- a/sound/pci/hda/hda_auto_parser.c +++ b/sound/pci/hda/hda_auto_parser.c @@ -405,6 +405,19 @@ int snd_hda_parse_pin_defcfg(struct hda_codec *codec, sort(cfg->inputs, cfg->num_inputs, sizeof(cfg->inputs[0]), compare_input_type, NULL); + if (cfg->dig_outs == 2) { + if (cfg->dig_out_type[0] != cfg->dig_out_type[1]) { + if (cfg->dig_out_type[0] == HDA_PCM_TYPE_HDMI) { + hda_nid_t temp = cfg->dig_out_pins[0]; + int temp_type = cfg->dig_out_type[0]; + cfg->dig_out_pins[0] = cfg->dig_out_pins[1]; + cfg->dig_out_type[0] = cfg->dig_out_type[1]; + cfg->dig_out_pins[1] = temp; + cfg->dig_out_type[1] = temp_type; + } + } + } + /* * debug prints of the parsed results */ > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20150711/c075f2d8/attachment.html>