Subject: eap(4) and ess(4) and mixer volume values
To: None <tech-kern@netbsd.org>
From: Matthias Scheler <tron@zhadum.de>
List: tech-kern
Date: 08/15/2000 21:51:12
Hello,
eap(4) and ess(4) both strip bits from the volume value passed to them
by audio(4). eap(4) e.g. strips 3 bits from the volume value:
tron@lyssa:~>mixerctl -w outputs.master=42,77
outputs.master: 224,224 -> 40,72
As a result of set applications the continously get and set the volume
value (e.g. "fxtv" or the "realplayer-7.0nb2" package) slowly reduce the
volume. In theory they should use the stripped value but because of some
rounding error - maybe caused by the OSS audio layer - they don't.
So far I know two ways to fix eap(4):
(a) Always set the 3 lower bits in the volume value returned by a get
operation. That fixes the problem with "fxtv" completely for me.
(b) Store the original value of the last set operation and return it
on a get operation. With this patch "fxtv" reduces the volume
some amount until and stops at a lower volume value.
I wonder which of the above methods is correct - (b) looks more cleanly
while (a) works better - or if the problem must be fixed somewhere else.
Kind regards
--
Matthias Scheler http://www.sighardstrasse.de/~tron/