mirror of
https://github.com/openharmony/third_party_tinyalsa.git
synced 2026-07-19 15:24:22 -04:00
Merge pull request #49 from vinodkoul/fixes
Allow setting of single byte control and make error from percent_to_int more consistent.
This commit is contained in:
@@ -259,14 +259,11 @@ unsigned int mixer_ctl_get_num_values(struct mixer_ctl *ctl)
|
||||
|
||||
static int percent_to_int(struct snd_ctl_elem_info *ei, int percent)
|
||||
{
|
||||
int range;
|
||||
if ((percent > 100) || (percent < 0)) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (percent > 100)
|
||||
percent = 100;
|
||||
else if (percent < 0)
|
||||
percent = 0;
|
||||
|
||||
range = (ei->value.integer.max - ei->value.integer.min);
|
||||
int range = (ei->value.integer.max - ei->value.integer.min);
|
||||
|
||||
return ei->value.integer.min + (range * percent) / 100;
|
||||
}
|
||||
@@ -404,6 +401,10 @@ int mixer_ctl_set_value(struct mixer_ctl *ctl, unsigned int id, int value)
|
||||
ev.value.enumerated.item[id] = value;
|
||||
break;
|
||||
|
||||
case SNDRV_CTL_ELEM_TYPE_BYTES:
|
||||
ev.value.bytes.data[id] = value;
|
||||
break;
|
||||
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user