]> git.alsa-project.org Git - alsa-lib.git/commitdiff
control: initialize element channel values according to identification number at...
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sun, 21 Feb 2016 16:54:28 +0000 (01:54 +0900)
committerTakashi Iwai <tiwai@suse.de>
Sun, 21 Feb 2016 17:49:48 +0000 (18:49 +0100)
In ALSA control core, there're two ways to identify elements. One is by
numid. Another is by name/index. The former way is lighter than the latter
way.

In control API, after adding elements by snd_ctl_elem_add_integer() and
snd_ctl_elem_add_integer64(), these functions initialize value of each
channel. When executing this operation, used ID information is still given
by applications. Although, in this time, the element can be identified
according to numid.

This commit uses the numid instead of name/index pair.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/control/control.c

index e1a90a87c96a0f74bf70a947f356c36242219fe3..fd5e9cf145ec5f3449ffcea4b3a67664da3b242b 100644 (file)
@@ -292,7 +292,7 @@ int snd_ctl_elem_add_integer(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id,
        if (err < 0)
                return err;
        snd_ctl_elem_value_alloca(&val);
-       val->id = *id;
+       val->id = info->id;
        for (i = 0; i < count; i++)
                val->value.integer.value[i] = min;
        err = ctl->ops->element_write(ctl, val);
@@ -330,7 +330,7 @@ int snd_ctl_elem_add_integer64(snd_ctl_t *ctl, const snd_ctl_elem_id_t *id,
        if (err < 0)
                return err;
        snd_ctl_elem_value_alloca(&val);
-       val->id = *id;
+       val->id = info->id;
        for (i = 0; i < count; i++)
                val->value.integer64.value[i] = min;
        err = ctl->ops->element_write(ctl, val);