diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 756459eacb..5831c3b77b 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13774,8 +13774,7 @@ virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt, goto error; } - if (def->model == VIR_DOMAIN_SOUND_MODEL_ICH6 || - def->model == VIR_DOMAIN_SOUND_MODEL_ICH9) { + if (virDomainSoundModelSupportsCodecs(def)) { int ncodecs; g_autofree xmlNodePtr *codecNodes = NULL; @@ -30356,6 +30355,14 @@ virDomainDefFindAudioForSound(virDomainDefPtr def, } +bool +virDomainSoundModelSupportsCodecs(virDomainSoundDefPtr def) +{ + return def->model == VIR_DOMAIN_SOUND_MODEL_ICH6 || + def->model == VIR_DOMAIN_SOUND_MODEL_ICH9; +} + + char * virDomainObjGetMetadata(virDomainObjPtr vm, int type, diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 39b678af80..d613d30495 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3786,6 +3786,8 @@ int virDomainDefFindDevice(virDomainDefPtr def, virDomainAudioDefPtr virDomainDefFindAudioForSound(virDomainDefPtr def, virDomainSoundDefPtr sound); +bool +virDomainSoundModelSupportsCodecs(virDomainSoundDefPtr def); const char *virDomainChrSourceDefGetPath(virDomainChrSourceDefPtr chr); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index d6d3f7b677..a1ff1130e2 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -618,6 +618,7 @@ virDomainSmbiosModeTypeToString; virDomainSoundDefFind; virDomainSoundDefFree; virDomainSoundDefRemove; +virDomainSoundModelSupportsCodecs; virDomainSoundModelTypeFromString; virDomainSoundModelTypeToString; virDomainStartupPolicyTypeFromString; diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 4461c2762f..e64d966222 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4101,9 +4101,7 @@ qemuBuildSoundCommandLine(virCommandPtr cmd, return -1; virCommandAddArg(cmd, str); - if (sound->model == VIR_DOMAIN_SOUND_MODEL_ICH6 || - sound->model == VIR_DOMAIN_SOUND_MODEL_ICH9) { - + if (virDomainSoundModelSupportsCodecs(sound)) { for (j = 0; j < sound->ncodecs; j++) { g_autofree char *codecstr = NULL; virCommandAddArg(cmd, "-device"); diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index f97d09ff80..23f5363dd0 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -4219,8 +4219,7 @@ qemuValidateDomainDeviceDefSound(virDomainSoundDefPtr sound, return -1; } - if (sound->model == VIR_DOMAIN_SOUND_MODEL_ICH6 || - sound->model == VIR_DOMAIN_SOUND_MODEL_ICH9) { + if (virDomainSoundModelSupportsCodecs(sound)) { for (i = 0; i < sound->ncodecs; i++) { const char *stype; int type, flags;