aboutsummaryrefslogtreecommitdiff
path: root/mixer.c
diff options
context:
space:
mode:
authorAndroidict <baptistex.robert@intel.com>2013-05-13 10:40:18 +0200
committerSimon Wilson <ksattic@gmail.com>2014-05-06 07:18:51 -0700
commit0e07647e4b9c52bb5f3766f9564ed38b6030e556 (patch)
treece6c5eef5c1fe63b91382050471afee11dbff3e0 /mixer.c
parentb03563bb9a9e9b91bbf86b03329138e3b339a061 (diff)
mixer: Control input value in mixer_ctl_set_value
When user want to set a mixer control with a value out of range, the mixer control will be set at its maximum
Diffstat (limited to 'mixer.c')
-rw-r--r--mixer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/mixer.c b/mixer.c
index 4568cca..8e99fad 100644
--- a/mixer.c
+++ b/mixer.c
@@ -383,6 +383,9 @@ int mixer_ctl_set_value(struct mixer_ctl *ctl, unsigned int id, int value)
if (ret < 0)
return ret;
+ if (value > mixer_ctl_get_range_max(ctl))
+ value = mixer_ctl_get_range_max(ctl);
+
switch (ctl->info->type) {
case SNDRV_CTL_ELEM_TYPE_BOOLEAN:
ev.value.integer.value[id] = !!value;