aboutsummaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2023-09-22 17:29:19 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2023-10-03 10:29:39 +0200
commit176adafca72ecc35e7f1f011deb52ca1ae091df6 (patch)
tree6f31af462366329651714f75ea0fd107215b2265 /audio
parentf6061733a96314ccb732efe6c91357d66f8970af (diff)
downloadqemu-176adafca72ecc35e7f1f011deb52ca1ae091df6.zip
qemu-176adafca72ecc35e7f1f011deb52ca1ae091df6.tar.gz
qemu-176adafca72ecc35e7f1f011deb52ca1ae091df6.tar.bz2
audio: return Error ** from audio_state_by_name
Remove duplicate error formatting code. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'audio')
-rw-r--r--audio/audio-hmp-cmds.c6
-rw-r--r--audio/audio.c3
-rw-r--r--audio/audio.h2
3 files changed, 7 insertions, 4 deletions
diff --git a/audio/audio-hmp-cmds.c b/audio/audio-hmp-cmds.c
index 1237ce9..c9608b7 100644
--- a/audio/audio-hmp-cmds.c
+++ b/audio/audio-hmp-cmds.c
@@ -26,6 +26,7 @@
#include "audio/audio.h"
#include "monitor/hmp.h"
#include "monitor/monitor.h"
+#include "qapi/error.h"
#include "qapi/qmp/qdict.h"
static QLIST_HEAD (capture_list_head, CaptureState) capture_head;
@@ -65,10 +66,11 @@ void hmp_wavcapture(Monitor *mon, const QDict *qdict)
int nchannels = qdict_get_try_int(qdict, "nchannels", 2);
const char *audiodev = qdict_get_str(qdict, "audiodev");
CaptureState *s;
- AudioState *as = audio_state_by_name(audiodev);
+ Error *local_err = NULL;
+ AudioState *as = audio_state_by_name(audiodev, &local_err);
if (!as) {
- monitor_printf(mon, "Audiodev '%s' not found\n", audiodev);
+ error_report_err(local_err);
return;
}
diff --git a/audio/audio.c b/audio/audio.c
index fdc34a7..874a4c3 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -2260,7 +2260,7 @@ int audio_buffer_bytes(AudiodevPerDirectionOptions *pdo,
audioformat_bytes_per_sample(as->fmt);
}
-AudioState *audio_state_by_name(const char *name)
+AudioState *audio_state_by_name(const char *name, Error **errp)
{
AudioState *s;
QTAILQ_FOREACH(s, &audio_states, list) {
@@ -2269,6 +2269,7 @@ AudioState *audio_state_by_name(const char *name)
return s;
}
}
+ error_setg(errp, "audiodev '%s' not found", name);
return NULL;
}
diff --git a/audio/audio.h b/audio/audio.h
index 01bdc56..e0c13b5 100644
--- a/audio/audio.h
+++ b/audio/audio.h
@@ -174,7 +174,7 @@ bool audio_init_audiodevs(void);
void audio_help(void);
void audio_legacy_help(void);
-AudioState *audio_state_by_name(const char *name);
+AudioState *audio_state_by_name(const char *name, Error **errp);
const char *audio_get_id(QEMUSoundCard *card);
#define DEFINE_AUDIO_PROPERTIES(_s, _f) \