NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
bin/56552: mixerctl(1) does not increment volume with ++ or +=1
>Number: 56552
>Category: bin
>Synopsis: mixerctl(1) does not increment volume with ++ or +=1
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: bin-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Dec 15 21:40:00 +0000 2021
>Originator: RVP
>Release: NetBSD/amd64 9.99.92
>Organization:
>Environment:
NetBSD x202e.localdomain 9.99.92 NetBSD 9.99.92 (MYKERNEL) #0: Mon Dec 13 03:43:43 UTC 2021 bld@x202e.localdomain:/usr/obj/usr/s
rc/sys/arch/amd64/compile/MYKERNEL amd64
>Description:
On my HW (VIA product 8446) the volume increment delta (5) seems to be
an open interval rather than a closed one, so I see this:
$ mixerctl -w outputs.master++
outputs.master: 162,162 -> 162,162
$ mixerctl -w outputs.master+=1
outputs.master: 162,162 -> 162,162
$
I have to use `+=2' to increment the volume by one "step". Decrementing
works OK however:
$ mixerctl -w outputs.master--
outputs.master: 162,162 -> 156,156
$ mixerctl -w outputs.master-=1
outputs.master: 156,156 -> 150,150
$
>How-To-Repeat:
As above.
>Fix:
Add one to ford interval:
diff -urN a/mixerctl.c b/mixerctl.c
--- a/mixerctl.c 2017-02-23 14:09:11.000000000 +0000
+++ b/mixerctl.c 2021-01-10 08:03:34.758061616 +0000
@@ -230,7 +230,7 @@
return 0;
case AUDIO_MIXER_VALUE:
if (p->infp->un.v.delta)
- inc *= p->infp->un.v.delta;
+ inc *= p->infp->un.v.delta + 1;
for (i = 0; i < m->un.value.num_channels; i++) {
v = m->un.value.level[i];
v += inc;
Home |
Main Index |
Thread Index |
Old Index