Skip to content

card-restore: setting preferred ports in entry_from_card

Hui Wang requested to merge jason77wang/pulseaudio:card-restore into master

If the preferred ports are not set in this function, the entrys_equal() always returns false in the card_put_hook_callback(). This will make the entry be written into the metadata and the preferred ports will be cleaned by a mistake.

And we met a hdmi audio bug which has sth to do with this issue, on the machines with the legacy HDA audio driver, the hdmi port has lower priority than speaker, users need to manually select the hdmi to be active output port, then the preferred output ports are hdmi for this sound card, after reboot, the card_put_hook_callback() in the module-card-restore.c will be called and the preferred ports are cleaned by a mistake, then the hdmi output port or hdmi sink couldn't switch to be active after reboot or resume automatically. That is because the preferred ports are cleaned and hdmi port has lower priority than speaker, the profile_good_for_output() in the module-switch-on-port-available.c always returns false.

Signed-off-by: Hui Wang hui.wang@canonical.com

Edited by Hui Wang

Merge request reports