Subject: Re: 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/16/2000 06:44:33
In article <3999C763.B2F089DC@augustsson.net>,
Lennart Augustsson <lennart@augustsson.net> writes:
What happens if you do
> mixerctl -w outputs.master=40,72
That works fine:
tron@lyssa:~>mixerctl -w outputs.master=40,72
outputs.master: 224,224 -> 40,72
tron@lyssa:~>mixerctl -w outputs.master=40,72
outputs.master: 40,72 -> 40,72
> When doing OSS emulation there is addition trouble, since OSS uses a range
> of 0-99 for its controls (as opposed to NetBSD's 0-255). So now you can
> lose bits in that conversion too, and that might be bad.
Yes, and that happens:
i TO_OSSVOL(i) FROM_OSSVOL(TO_OSSVOL(i))
000 000 000
001 000 000
002 000 000(*)
003 001 002
004 001 002
005 001 002(*)
006 002 005
007 002 005(*)
008 003 007
009 003 007
010 003 007
011 004 010
[...]
We should improve the conversion formula so that the values marked
with (*) return the value of the next conversion.
> Maybe the right thing to do is to let the OSS emulation remember what
> values you have set and return them.
How do you want to do that? The OSS library would have to track the used
audio devices.
What I still don't understand is how a bug in our OSS library can affect
the "realplayer" package. I suppose it was really a bug in "7.0nb2"
which got fixed in "7.0nb3".
Kind regards
--
Matthias Scheler http://www.sighardstrasse.de/~tron/