aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-03-27 20:10:39 +0100
committerMax Kellermann <max@duempel.org>2009-03-27 20:10:39 +0100
commit43864762eec8857a7057944eb27e38140f4e346a (patch)
tree6607c28c5091a2dda8ec72221b499b47c0ab0db0 /src
parent49e548e773759043e5f99eaa12cb91b5f0b93371 (diff)
downloadmpd-43864762eec8857a7057944eb27e38140f4e346a.tar.gz
mpd-43864762eec8857a7057944eb27e38140f4e346a.tar.xz
mpd-43864762eec8857a7057944eb27e38140f4e346a.zip
mixer: assert that the new volume value is valid
Added an assertion in mixer_set_volume(). Removed the range checks from the ALSA and OSS plugins.
Diffstat (limited to 'src')
-rw-r--r--src/mixer/alsa_mixer.c4
-rw-r--r--src/mixer/oss_mixer.c4
-rw-r--r--src/mixer_control.c1
3 files changed, 2 insertions, 7 deletions
diff --git a/src/mixer/alsa_mixer.c b/src/mixer/alsa_mixer.c
index 6c7476ab3..7b161cd14 100644
--- a/src/mixer/alsa_mixer.c
+++ b/src/mixer/alsa_mixer.c
@@ -188,10 +188,6 @@ alsa_mixer_set_volume(struct mixer *mixer, unsigned volume)
vol = volume;
am->volume_set = vol + 0.5;
- am->volume_set = am->volume_set > 100
- ? 100 :
- (am->volume_set < 0
- ? 0 : am->volume_set);
level = (long)(((vol / 100.0) * (am->volume_max - am->volume_min) +
am->volume_min) + 0.5);
diff --git a/src/mixer/oss_mixer.c b/src/mixer/oss_mixer.c
index 85b59fbe7..f2db01ff4 100644
--- a/src/mixer/oss_mixer.c
+++ b/src/mixer/oss_mixer.c
@@ -171,9 +171,7 @@ oss_mixer_set_volume(struct mixer *mixer, unsigned volume)
int ret;
assert(om->device_fd >= 0);
-
- if (volume > 100)
- volume = 100;
+ assert(volume <= 100);
level = (volume << 8) + volume;
diff --git a/src/mixer_control.c b/src/mixer_control.c
index 9c361e5da..a17885935 100644
--- a/src/mixer_control.c
+++ b/src/mixer_control.c
@@ -165,6 +165,7 @@ mixer_set_volume(struct mixer *mixer, unsigned volume)
bool success;
assert(mixer != NULL);
+ assert(volume <= 100);
if (mixer->plugin->global && !mixer->failed && !mixer_open(mixer))
return false;