diff options
-rw-r--r-- | CONTRIBUTORS | 4 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | device.c | 5 |
3 files changed, 9 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 05b8657e..45135287 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1940,3 +1940,7 @@ Antti Hartikainen <ami+vdr@ah.fi> Patrick Maier <maierp@informatik.tu-muenchen.de> for fixing handling network masks in the svdrphosts.conf file + +Norbert Wentz <norbert.wentz@online.de> + for reporting a bug in handling relative volume settings in the call to + cStatus::MsgSetVolume() @@ -4820,3 +4820,5 @@ Video Disk Recorder Revision History after all other fixes, because a short text might become a description. - Fixed handling network masks in the svdrphosts.conf file (thanks to Patrick Maier). +- Fixed handling relative volume settings in the call to cStatus::MsgSetVolume() + (reported by Norbert Wentz). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 1.131 2006/06/15 09:59:40 kls Exp $ + * $Id: device.c 1.132 2006/07/22 13:18:34 kls Exp $ */ #include "device.h" @@ -776,9 +776,10 @@ void cDevice::SetAudioChannel(int AudioChannel) void cDevice::SetVolume(int Volume, bool Absolute) { + int OldVolume = volume; volume = min(max(Absolute ? Volume : volume + Volume, 0), MAXVOLUME); SetVolumeDevice(volume); - cStatus::MsgSetVolume(volume, Absolute); + cStatus::MsgSetVolume(Absolute ? volume : volume - OldVolume, Absolute); if (volume > 0) { mute = false; Audios.MuteAudio(mute); |