summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mixer/simple_none.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/mixer/simple_none.c b/src/mixer/simple_none.c
index 9b0705cc..e129514c 100644
--- a/src/mixer/simple_none.c
+++ b/src/mixer/simple_none.c
@@ -1610,23 +1610,22 @@ static int simple_event_add(snd_mixer_class_t *class, snd_hctl_elem_t *helem)
if (snd_hctl_elem_get_interface(helem) != SND_CTL_ELEM_IFACE_MIXER)
return 0;
if (strcmp(name, "Capture Source") == 0) {
- snd_ctl_elem_info_t *info;
+ snd_ctl_elem_info_t info = {0};
unsigned int k, items;
int err;
- snd_ctl_elem_info_alloca(&info);
- err = snd_hctl_elem_info(helem, info);
+ err = snd_hctl_elem_info(helem, &info);
assert(err >= 0);
- if (snd_ctl_elem_info_get_type(info) !=
+ if (snd_ctl_elem_info_get_type(&info) !=
SND_CTL_ELEM_TYPE_ENUMERATED)
return 0;
- items = snd_ctl_elem_info_get_items(info);
+ items = snd_ctl_elem_info_get_items(&info);
for (k = 0; k < items; ++k) {
const char *n;
- snd_ctl_elem_info_set_item(info, k);
- err = snd_hctl_elem_info(helem, info);
+ snd_ctl_elem_info_set_item(&info, k);
+ err = snd_hctl_elem_info(helem, &info);
if (err < 0)
return err;
- n = snd_ctl_elem_info_get_item_name(info);
+ n = snd_ctl_elem_info_get_item_name(&info);
err = simple_add1(class, n, helem, CTL_CAPTURE_SOURCE,
k);
if (err < 0)