diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index 3fb82d9d6e..6788a0a4c3 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -765,7 +765,7 @@ virBhyveProcessBuildBhyveCmd(bhyveConnPtr driver, virDomainDefPtr def, for (i = 0; i < def->nsounds; i++) { if (bhyveBuildSoundArgStr(def, def->sounds[i], - virDomainDefFindAudioForSound(def, def->sounds[i]), + virDomainDefFindAudioByID(def, def->sounds[i]->audioId), driver, cmd) < 0) goto error; } diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 15f439d21c..67b905fe98 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -30525,13 +30525,17 @@ virDomainDefFindDevice(virDomainDefPtr def, virDomainAudioDefPtr -virDomainDefFindAudioForSound(virDomainDefPtr def, - virDomainSoundDefPtr sound) +virDomainDefFindAudioByID(const virDomainDef *def, + int id) { size_t i; - for (i = 0; i < def->naudios; i++) - if (def->audios[i]->id == sound->audioId) - return def->audios[i]; + if (id != 0) { + for (i = 0; i < def->naudios; i++) + if (def->audios[i]->id == id) + return def->audios[i]; + } else if (def->naudios) { + return def->audios[0]; + } return NULL; } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 216d097f5e..62c78ba988 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3813,8 +3813,8 @@ int virDomainDefFindDevice(virDomainDefPtr def, bool reportError); virDomainAudioDefPtr -virDomainDefFindAudioForSound(virDomainDefPtr def, - virDomainSoundDefPtr sound); +virDomainDefFindAudioByID(const virDomainDef *def, + int id); bool virDomainSoundModelSupportsCodecs(virDomainSoundDefPtr def); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index a1ff1130e2..580c03e796 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -300,7 +300,7 @@ virDomainDefCheckABIStability; virDomainDefCheckABIStabilityFlags; virDomainDefCompatibleDevice; virDomainDefCopy; -virDomainDefFindAudioForSound; +virDomainDefFindAudioByID; virDomainDefFindDevice; virDomainDefFormat; virDomainDefFormatConvertXMLFlags;