diff options
author | Paolo Bonzini | 2022-04-27 12:27:46 +0200 |
---|---|---|
committer | Paolo Bonzini | 2022-05-14 12:33:44 +0200 |
commit | 039a68373c4544ff94871f945a733928b6dcfe93 (patch) | |
tree | 9a4d966054f19e7c967a5d9c046d9ab184ab0fc3 /audio | |
parent | soundhw: move help handling to vl.c (diff) | |
download | qemu-039a68373c4544ff94871f945a733928b6dcfe93.tar.gz qemu-039a68373c4544ff94871f945a733928b6dcfe93.tar.xz qemu-039a68373c4544ff94871f945a733928b6dcfe93.zip |
introduce -audio as a replacement for -soundhw
-audio is used like "-audio pa,model=sb16". It is almost as simple as
-soundhw, but it reuses the -audiodev parsing machinery and attaches an
audiodev to the newly-created device. The main 'feature' is that
it knows about adding the codec device for model=intel-hda, and adding
the audiodev to the codec device.
In the future, it could be extended to support default models or
builtin devices, just like -nic, or even a default backend. For now,
keep it simple.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'audio')
-rw-r--r-- | audio/audio.c | 8 | ||||
-rw-r--r-- | audio/audio.h | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/audio/audio.c b/audio/audio.c index 9e91a5a4f2..a02f3ce5c6 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -2099,13 +2099,19 @@ static void audio_validate_opts(Audiodev *dev, Error **errp) void audio_parse_option(const char *opt) { - AudiodevListEntry *e; Audiodev *dev = NULL; Visitor *v = qobject_input_visitor_new_str(opt, "driver", &error_fatal); visit_type_Audiodev(v, NULL, &dev, &error_fatal); visit_free(v); + audio_define(dev); +} + +void audio_define(Audiodev *dev) +{ + AudiodevListEntry *e; + audio_validate_opts(dev, &error_fatal); e = g_new0(AudiodevListEntry, 1); diff --git a/audio/audio.h b/audio/audio.h index 3d5ecdecd5..b5e17cd218 100644 --- a/audio/audio.h +++ b/audio/audio.h @@ -168,6 +168,7 @@ void audio_sample_to_uint64(const void *samples, int pos, void audio_sample_from_uint64(void *samples, int pos, uint64_t left, uint64_t right); +void audio_define(Audiodev *audio); void audio_parse_option(const char *opt); void audio_init_audiodevs(void); void audio_legacy_help(void); |