FIXES: alsamixer lowering volume control widget past 0 causes hostile volume spike to 100 #266
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
bug: lowering volume below 0 causes volume to overflow and spike to 100% volume hurting my ears.
to reproduce: when holding down z,x,c to lower the volume, the volume spikes to 100% and then down to 0% over and over
background:
when volume is already 0 and direction is -1 (lowering volume) - but lower than 0 is impossible
the function
set_normalized_volume
@ volume-mapping.c is eventually still called anywayvalue = lrint_dir(6000.0 * log10(volume), dir) + max;
and volume is 0, so
log10(0) resolves to negative infinity, so
value overflows past infinity. 9223372036854775802
my fix:
this function
change_volume_relative
function will now skip execution of the set_normalized_playback_volume function when volume is 0 and the dir is -1TLDR: (stop trying to set a lower volume than 0)