1
mirror of https://github.com/mpv-player/mpv synced 2024-10-06 14:54:02 +02:00

mixer: keep fractional part of volume setting

mixer_setvolume() accepts float values for volume, but used the
integer function av_clip() to limit range, losing the fractional part
as a side effect. Change the code to use av_clipf() instead. For most
uses this shouldn't make any real difference; actual AO volume
settings may not have that much precision anyway.
This commit is contained in:
Uoti Urpala 2013-01-12 15:19:07 +02:00 committed by wm4
parent 3f7526d641
commit 82d72ef39f

View File

@ -124,8 +124,8 @@ static void setvolume_internal(mixer_t *mixer, float l, float r)
void mixer_setvolume(mixer_t *mixer, float l, float r)
{
checkvolume(mixer); // to check mute status and AO support for volume
mixer->vol_l = av_clip(l, 0, 100);
mixer->vol_r = av_clip(r, 0, 100);
mixer->vol_l = av_clipf(l, 0, 100);
mixer->vol_r = av_clipf(r, 0, 100);
if (!mixer->ao || mixer->muted_using_volume)
return;
setvolume_internal(mixer, mixer->vol_l, mixer->vol_r);